編譯器錯誤 CS1947
無法指派範圍變數 '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();
}
}