namespace ConsoleApplication2
{
class Program
{
static void abc(a ba)
{
ba.fun();
ba.b = "1234143";
}
static void Main(string[] args)
{
a c= new a();
c.b = "esafdf";
abc(c);
abc(c);
Console.ReadKey();
}
}
public class a
{
public string b;
public a()
{
b = "abcde";
}
public void fun()
{
Console.WriteLine("{0}",b);
}
}} 这个是我做的一个小试验,按照abc函数的定义,它应该是个值传递的的参数,但竟然传入的参数改变了 在原理上我知道其实我传入的是个托管指针,那意思就是说托管对象没有值传递???如果有请问怎么设计它啊?
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货