【发布时间】:2014-09-02 08:39:36
【问题描述】:
当我通过替换 out 关键字尝试使用 ref 关键字时,以下代码中没有错误。当我尝试使用 out 而不是 ref 时,会出现类似“未分配的 OUT 参数”的错误 这个错误是什么意思?
static void Main()
{
string test = "34";
addOneToRefParam(out test);
Console.WriteLine("test is : " + test);
}
public static void addOneToRefParam(out string i)
{
int k =Convert.ToInt32(i) + 1;
i = Convert.ToString(k);
Console.WriteLine("i is : " + i);
}
【问题讨论】:
-
我希望有一个搜索引擎可以找到此类问题的答案。我敢打赌 URL 应该是这样的 google.com/search?q=csharp+ref+out
-
@derape 这也是一个令人印象深刻的 UI 模型;荣誉。应该有人这样做。
-
次要:就 CLI 而言:“绝对没有”。
ref和out之间的差异恰好为零,只是其中恰好有一个它不感兴趣的属性。这里的所有差异完全在编译器级别。 -
您既不需要
ref,因为您不需要修改它,也不需要out,因为您需要它作为输入参数。你只想要string i。
标签: c#