Seri'in anahtar kelime daha edeyim kelime mi yani?
Şu anda SERİ ve let
arasındaki farkı anlamaya çalışmadan ve into
anahtar kelime kullanıyorum Evet çalışıyorum. Şimdiye kadar let
anahtar into
anahtar kelime, daha iyi benim anladığım kadarıyla gider gibi görünüyor.
into
anahtar kelime aslında tek bir sorgu bir projeksiyon sonra devam etmenizi sağlar. (Sadece grup için bir atıfta bulunmadığımı açıkça devlet ister katılma.)
Biri şu: yapmaya imkan tanıyor adları bir dizi verildi
var intoQuery =
from n in names
select Regex.Replace(n, "[aeiou]", "")
into noVowel
where noVowel.Length > 2
select noVowel;
Seçme sonucu alır ve sonra bir where
, orderby
** 12 ek hükümler tanıtmak için izin verir noVowel
değişken içine yerleştirir. noVowel
değişken oluşturulduktan sonra n
değişken artık kullanılabilir.
let
anahtar kelime, diğer taraftan, temp anonim türleri bir seferde birden fazla değişken yeniden izin vermek için kullanır.
Aşağıdakileri yapabilirsiniz:
var letQuery =
from n in names
let noVowel = Regex.Replace(n, "[aeiou]", "")
where noVowel.Length > 2
select noVowel;
Her iki noVowel
n
değişkenler kullanılabilir bu durumda kullanmadım bile).
Ederken görebiliyorum farkı tam anlayamıyorum anlamak neden ister kullanın into
anahtar let
anahtar kelime sürece, açıkça istedim emin olmak için önceki değişken için kullanılabilecek ikinci bölümden sorgu.
Her iki anahtar kelime var neden iyi bir nedeni var mı?
CEVAP
Dediğiniz gibi farklı şeyler yapıyorlar çünkü.
select ... into
etkili bir sorgu bütün ayırır ve yeni bir sorgu için giriş olarak kullanmanıza olanak sağlar. Şahsen Bengenellikleiki değişken): bunu tercih ediyor
var tmp = from n in names
select Regex.Replace(n, "[aeiou]", "");
var noVowels = from noVowel in tmp
where noVowel.Length > 2
select noVowel;
(Kuşkusuz bu durumda iki satır, ama bunu görmezden geliyorum...) nokta gösterimi ile yapardım
Genellikle değilsinistiyorumkullandığınızda sorgunun Önceki parça - bütün Bagaj select ... into
yukarıdaki örnek başına iki sorgu bölünmüş. Sadece demek önceki bölümden sorgu olamaz kullanıldığında onlar olmamalı, kolaylaştırır neler oluyor - ve tabii ki anlamı var, potansiyel olarak daha az kopyalama oluyor her adımda.
Diğer taraftan, ne zamanyapıniçeriği geri kalanı tutmak, let
daha anlamlı olur.
Kod '' zincirleme SERİ anaht...
'' kırmak için eşdeğer VB ana...
&Quot;gerçek kullanım imzalı" ana...
Tam olarak ne zaman Java geçici anahta...
Anahtar kelime yazma 'içi' f...