Compilerfehler CS1938
Der Name 'Name' auf der rechten Seite von „Equals“ liegt nicht im Bereich. Erwägen Sie den Austausch der Ausdrücke auf beiden Seiten von „Equals“.
Das equals
-Schlüsselwort ist ein spezieller Operator, der in einer join
-Klausel verwendet wird, um die Gleichheit zwischen zwei Ausdrücken zu ermitteln. Die Bereichsvariable für die linke Quellsequenz liegt auf der linken Seite von „Equals“ im Bereich, und die Bereichsvariable für die rechte Quelle liegt nur auf der linken Seite von „Equals“ im Bereich. Sie können dies überprüfen, indem Sie im folgenden Codebeispiel mit IntelliSense experimentieren.
- Tauschen Sie die Position der beiden Bereichsvariablen, wie in der kommentierten Zeile im folgenden Beispiel veranschaulicht:
Durch den folgenden Code wird der Fehler CS1938 ausgelöst:
// cs1938.cs
using System.Linq;
class Test
{
static void Main()
{
int[] sourceA = { 1, 2, 3, 4, 5 };
int[] sourceB = { 3, 4, 5, 6, 7 };
var query = from a in sourceA
join b in sourceB on b equals a // CS1938
// Try the following line instead.
// join b in sourceB on a equals b
select new { a, b };
}
}
Feedback zu .NET
.NET ist ein Open Source-Projekt. Wählen Sie einen Link aus, um Feedback zu geben: