Baca dalam bahasa Inggris

Bagikan melalui


Kesalahan Kompilator CS1937

Nama 'nama' tidak ada dalam cakupan di sisi kiri 'sama dengan'. Pertimbangkan untuk menukar ekspresi di kedua sisi 'sama dengan'.

Kata kunci equals adalah operator khusus yang digunakan dalam klausul join untuk menentukan kesetaraan antara dua ekspresi. Variabel rentang untuk urutan sumber sisi kiri berada dalam cakupan di sisi kiri yang sama, dan variabel rentang untuk sumber sisi kanan hanya dalam cakupan di sisi kiri yang sama. Anda dapat memverifikasi ini dengan bereksperimen dengan IntelliSense dalam contoh kode berikut.

Untuk memperbaiki kesalahan ini

  1. Tukar posisi dua variabel rentang seperti yang ditunjukkan pada baris komentar dalam contoh berikut:

Contoh

Contoh berikut menghasilkan CS1937.

C#
// cs1937.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 // CS1937  
                    // Try the following line instead.  
                    //join b in sourceB on a equals b  
                    select new { a, b };  
    }  
}  

Sisi kiri umumnya disebut sisi "luar" dan sisi kanan umumnya disebut sisi "dalam".

Lihat juga