Compilerfehler CS1947
Aktualisiert: November 2007
Fehlermeldung
Der Bereichsvariablen "Variablenname" kann nichts zugewiesen werden, sie ist schreibgeschützt.
Range variable 'variable name' cannot be assigned to -- it is read only.
Eine Bereichsvariable ist wie eine Iterationsvariable in einer foreach-Anweisung. Ihr kann in einem Abfrageausdruck nichts zugewiesen werden.
So beheben Sie diesen Fehler
Entfernen Sie die Zuweisung zur Bereichsvariablen.
Führen Sie ggf. eine neue Bereichsvariable mit der let-Klausel ein, und verwenden Sie sie zum Speichern des Werts.
Beispiel
Durch den folgenden Code wird der Fehler CS1947 ausgelöst:
// 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();
}
}