更新:2007 年 11 月
错误消息
无法对范围变量“variable name”赋值 -- 它是只读的。范围变量类似于 foreach 语句中的迭代变量。不能在查询表达式中为该变量赋值。
更正此错误
移除对范围变量的赋值。
如果需要,通过使用 let 子句引入一个新的范围变量,并使用该变量存储值。
示例
下面的代码生成 CS1947:
复制代码 | |
---|---|
// cs1947.cs using System.Linq; class Test { static void Main() { int[] array = new int[] { 1, 2, 3, 4, 5 }; var x = from i in array let k = i select i = 5; // CS1947 x.ToList(); } } |