更新:2007 年 11 月
错误消息
无法将范围变量“name”作为 out 或 ref 参数传递。范围变量是在查询表达式中引入的只读变量,它用作源序列中每个连续元素的标识符。因为该变量不能以任何方式进行更改,所以通过 ref 或 out 传递它没有任何意义。因此,这两个操作都是无效的。
更正此错误
通过值传递范围变量。
示例
下面的示例生成 CS1939:
复制代码 | |
---|---|
// cs1939.cs using System.Linq; class Test { public static void F(ref int i) { } public static void Main() { var list = new int[] { 0, 1, 2, 3, 4, 5 }; var q = from x in list let k = x select Test.F(ref x); // CS1939 } } |