static void Main(string[] args) {
List<string> list = new List<string>();
list.Add("abc");
ChangeOrNot(list);
var query = from p in list select p;
foreach (string l in query) { Console.WriteLine(l); }
}
private static void ChangeOrNot(List<string> list)
{
list.Add("def");
}
输出abc def,并没有加ref关键字.
求解原理.
List<T>是引用类型,也就是说你传入的参数实际上是它的内存地址,函数中对参数中作的任何改变实际上都是对原来的List操作
private static void ChangeOrNot(List<string> list)
这一句吗?貌似这是list的定义啊.
就是参数是个string类型的list啊