英語で読む

次の方法で共有


コンパイラ エラー CS1947

範囲変数 'variable name' が割り当てられません -- 読み取り専用です。

範囲変数は foreach ステートメントの反復変数に似ています。 これをクエリ式に割り当てることはできません。

このエラーを解決するには

  1. 範囲変数への割り当てを削除します。

  2. 必要に応じて、 let 句を使用して新しい範囲変数を導入し、この変数を使用して値を格納します。

次のコードでは CS1947 が生成されます。

C#
// 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();  
    }  
}  

関連項目