Derleyici Hatası CS1938
'name' adı, 'equals' öğesinin sağ tarafındaki kapsamda değil. 'equals' öğesinin her iki tarafındaki ifadeleri değiştirmeyi göz önünde bulundurun.
equals
anahtar sözcüğü, iki ifade arasındaki eşitliği belirlemek için yan tümcesinde kullanılan özel bir join
işleçtir. Sol taraftaki kaynak dizisinin aralık değişkeni eşittir'in sol tarafındaki kapsamdadır ve sağ taraftaki kaynağın aralık değişkeni yalnızca eşittir öğesinin sol tarafındaki kapsam içindedir. Aşağıdaki kod örneğinde IntelliSense ile denemeler yaparak bunu doğrulayabilirsiniz.
- Aşağıdaki örnekteki açıklama satırına gösterildiği gibi iki aralık değişkeninin konumunu değiştirin:
Aşağıdaki kod CS1938 oluşturur:
// 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 };
}
}
.NET geri bildirimi
.NET, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin: