SORU
13 Mart 2009, Cuma


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
13 Mart 2009, Cuma


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.

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • george sarintzotis

    george sarin

    2 Aralık 2007
  • Kai Moosmann

    Kai Moosmann

    5 Temmuz 2006
  • Kyler Briskey

    Kyler Briske

    20 ŞUBAT 2011