Kesalahan Pengompilasi CS1938
Nama 'nama' tidak ada dalam cakupan di sebelah 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.
- Tukar posisi dua variabel rentang seperti yang ditunjukkan pada baris komentar dalam contoh berikut:
Kode berikut menghasilkan CS1938:
// 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 };
}
}
Umpan balik .NET
.NET adalah proyek sumber terbuka. Pilih tautan untuk memberikan umpan balik: