2012-4-13
关于C#中的泛型列表List<>做为函数参数时,是传值还是传址,即在函数中修改list中元素的值函数结束时,list中相应函数值是否改变
static void Main(string[] args)
{
List<int> a = new List<int>();
a.Add(10);
a.Add(20);
change(a);
Console.WriteLine("{0}", a[1]);
}
public static void change(List<int> a)
{
int i;
for (i = 0; i <a.Count ; i++)
{
a[i] = i;
}
}
结果:list传址,即当函数上改变list其中的值,函数结束,list中的值相应改变。
2012-4-13
测试
static void Main(string[] args)
{
List<int> a = new List<int>();
List<int> b = new List<int>();
a.Add(10);
a.Add(20);
b = a;
b[1] = 40;
Console.WriteLine("{0}", a[1]);
}
结果: a[1] = 40;
b = a; 为引用;