編譯器錯誤 CS1947
更新:2007 年 11 月
錯誤訊息
無法指派範圍變數 'variable name' -- 其為唯讀。
範圍變數與 foreach 陳述式 (Statement) 中的反覆運算變數類似。在查詢運算式中,不可以指派這個變數。
若要更正這個錯誤
移除範圍變數的指派。
必要時,使用 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();
}
}