共用方式為


編譯器錯誤 CS1947

更新:2007 年 11 月

錯誤訊息

無法指派範圍變數 'variable name' -- 其為唯讀。

範圍變數與 foreach 陳述式 (Statement) 中的反覆運算變數類似。在查詢運算式中,不可以指派這個變數。

若要更正這個錯誤

  1. 移除範圍變數的指派。

  2. 必要時,使用 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();
    }
}

請參閱

概念

LINQ 查詢運算式 (C# 程式設計手冊)