LINQ iki farklı şekilde yazılabilir. kuyu (
var query = source.Where(condition).Select(x => x.Property);
Her iki sorgular özdeş olan ve aynı sonucu üretecektir:
var query = from x in source
where condition
select x.Property
Ve diğer LINQ uzantısı yöntemleri kullanmaktır:
Bir LINQ deklaratif sorgu sözdizimi kullanarak bir sorgu yazarak Bu fazlaca basitleştirilmiş örnekte derleyici hatası, ancak bu sayılır :-))
C# derleyicisi, sorguyu yöntem çağrılarına çevirir.
Bu, sorgu olarak yazdığınız her şeyin, yöntem zincirleri kullanılarak da yazılabileceği anlamına gelir. Ancak, bunun tersinin yanlış olduğunu unutmayın - Bazı sorgular sadece Linq'in uzantı yöntemleri kullanılarak yazılabilir. Bununla Daha fazlasını okumak için
,
here's what Microsoft have to say about it.
Not ikinci paragraf başlar:
Sorgu sözdizimi ve yöntem sözdizimi anlamsal olarak aynıdır, ancak birçok kişi sorgu sözdizimi basit ve kolay okunur bulabilirsiniz. Zaten açık was'nt eğer linq uzantısı yöntemleri bu ad alanına ait olduğu yöntem zincirleme sözdizimi de için
btw, System.Linq
nedeni zorunludur.
Yine de LINQ, "sorgu sözdizimi" değil. – Kobi
@Kobi Teşekkürler! – MaxPower
Linq, SQL gibi sorgu tabanlı bir dile benzer öğelerin koleksiyonlarında çalışan bir grup yöntemdir. Her ikisi de, sorgulama sözdizimi ve sağladığınız yöntem zincirleri aslında bu ad alanından linq-yöntemleridir, yalnızca davranışta değil sözdiziminde farklılık gösterirler. – HimBromBeere