Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
'name' adı, 'equals' öğesinin sol 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.
Bu hatayı düzeltmek için
- Aşağıdaki örnekteki açıklama satırına gösterildiği gibi iki aralık değişkeninin konumunu değiştirin:
Örnek
Aşağıdaki örnek CS1937 oluşturur.
// 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 };
}
}
Sol tarafa genellikle "dış" taraf, sağ tarafa ise genellikle "iç" taraf denir.