【发布时间】:2015-11-02 06:26:35
【问题描述】:
在 C# 中将列表作为参数作为 ref 传递有什么好处? List 不是值类型,因此对其所做的每次更改都会在返回函数后反映出来。
class Program
{
static void Main(string[] args)
{
var myClass = new MyClass();
var list = new List<string>();
myClass.Foo(ref list);
foreach (var item in list)
{
Console.WriteLine(item);
}
}
}
class MyClass
{
public void Foo(ref List<string> myList)
{
myList.Add("a");
myList.Add("b");
myList.Add("c");
}
}
我可以删除“ref”,它会正常工作。 所以我的问题是我们需要为列表、数组添加 ref 关键字的用途是什么... 谢谢
【问题讨论】:
-
msdn 文档解释了这种情况:msdn.microsoft.com/en-us/library/14akc2c7(v=vs.120).aspx;只是 RTFM