using System;
namespace Demo
{
public class A
{
static void Main( string[] args )
{
Console.WriteLine( B.ID );
Console.ReadKey();
}
}
public class B
{
public static void b1()
{
int ID = 666;
}
}
}
如何将B类的值传递到A类且输出
c#类之间传递值的问题
答案:2 悬赏:80 手机版
解决时间 2021-01-24 15:36
- 提问者网友:动次大次蹦擦擦
- 2021-01-24 11:58
最佳答案
- 五星知识达人网友:低音帝王
- 2021-01-24 12:43
using System;
namespace ConsoleApplication1
{
class A
{
static void Main(string[] args)
{
B.b1();
Console.WriteLine(B.ID);
Console.ReadKey();
}
}
class B
{
// 添加一个静态字段ID
public static int ID;
public static void b1()
{
ID = 666;
}
}
}
namespace ConsoleApplication1
{
class A
{
static void Main(string[] args)
{
B.b1();
Console.WriteLine(B.ID);
Console.ReadKey();
}
}
class B
{
// 添加一个静态字段ID
public static int ID;
public static void b1()
{
ID = 666;
}
}
}
全部回答
- 1楼网友:躲不过心动
- 2021-01-24 14:09
你已经点出来了,传递方式为值传递方式,并且 结构体是 值类型,传递的只是值的一份copy,不是本身,所以方法里面的修改无法影响到外面的值,修改的只是副本。
你需要区分2个概念, 1传递方式,2传递的内同
无论是值类型还是引用类型 传递的方式 都是 值传递方式,
区别是 值类型传递的值 是值的copy 引用类型 传递的值 是 引用 这个指针的 copy,但是由于是引用,虽然是copy,但是它会同原本的引用一样指向同一个内存地址单元,所以 为什么 引用类型 传递过去可以改变属性的值,而值类型不行, 就是这个原因,
所以在msdn 又有一句话 c#的所有 类型 无特殊(out , ref)修饰 ,那么其传递方式都是值传递方式
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
推荐资讯