condition
Gerekli. Koleksiyondaki geçerli öğe için değerlerin çıkış koleksiyonuna eklenip eklenmeyeceğini belirleyen ifade. İfade bir değere veya değerin Boolean eşdeğerine Boolean göre değerlendirilmelidir. Koşul olarak değerlendirilirse True, öğesi sorgu sonucuna eklenir; aksi takdirde öğe sorgu sonucundan dışlanır.
Açıklamalar
Where yan tümcesi, yalnızca belirli ölçütlere uyan öğeleri seçerek sorgu verilerini filtrelemenizi sağlar. Değerleri yan tümcesinin Where değerlendirilmesine True neden olan öğeler sorgu sonucuna eklenir; diğer öğeler dışlanır. Yan tümcesinde Where kullanılan ifade, değeri sıfır olduğunda değerlendirilen bir Boolean Tamsayı gibi bir Booleanveya eşdeğeri olarak değerlendirilmelidir False . , , AndAlsoOrIsOrElseve IsNotgibi Andmantıksal işleçleri kullanarak yan Where tümcede birden çok ifadeyi birleştirebilirsiniz.
Varsayılan olarak, sorgu ifadeleri erişilene kadar (örneğin, bir For döngüde veriye bağlı veya yinelendiğinde) değerlendirilmez. Sonuç olarak, Where sorguya erişilene kadar yan tümcesi değerlendirilmez. Yan tümcesinde Where kullanılan sorgunun dışında değerleriniz varsa, sorgu yürütülürken yan tümcesinde Where uygun değerin kullanıldığından emin olun. Sorgu yürütme hakkında daha fazla bilgi için bkz . İlk LINQ Sorgunuzu Yazma.
Koleksiyondaki geçerli öğeden bir Where değer üzerinde hesaplama veya işlem gerçekleştirmek için yan tümce içindeki işlevleri çağırabilirsiniz. Yan tümcesinde Where bir işlevin çağrılması, sorgunun erişildiğinde değil tanımlandığında hemen yürütülmesine neden olabilir. Sorgu yürütme hakkında daha fazla bilgi için bkz . İlk LINQ Sorgunuzu Yazma.
Örnek 1
Aşağıdaki sorgu ifadesi, koleksiyondaki her Customer nesne için bir aralık değişkeni cust bildirmek üzere bir From yan tümcesi customers kullanır. Where yan tümcesi, belirtilen bölgedeki müşterilerle çıkışı kısıtlamak için aralık değişkenini kullanır. döngü, For Each sorgu sonucundaki her müşterinin şirket adını görüntüler.
VB
Sub DisplayCustomersForRegion(ByVal customers As List(Of Customer),
ByVal region AsString)
Dim customersForRegion = From cust In customers
Where cust.Region = region
ForEach cust In customersForRegion
Console.WriteLine(cust.CompanyName)
NextEndSub
Örnek 2
Aşağıdaki örnekte yan tümcesinde Where ve Or mantıksal işleçleri kullanılırAnd.
VB
PrivateSub DisplayElements()
Dim elements As List(Of Element) = BuildList()
' Get a list of elements that have an atomic number from 12 to 14,' or that have a name that ends in "r".Dim subset = From theElement In elements
Where (theElement.AtomicNumber >= 12And theElement.AtomicNumber < 15) _
Or theElement.Name.EndsWith("r")
OrderBy theElement.Name
ForEach theElement In subset
Console.WriteLine(theElement.Name & " " & theElement.AtomicNumber)
Next' Output:' Aluminum 13' Magnesium 12' Silicon 14' Sulfur 16EndSubPrivateFunction BuildList() As List(Of Element)
ReturnNew List(Of Element) From
{
{New Element With {.Name = "Sodium", .AtomicNumber = 11}},
{New Element With {.Name = "Magnesium", .AtomicNumber = 12}},
{New Element With {.Name = "Aluminum", .AtomicNumber = 13}},
{New Element With {.Name = "Silicon", .AtomicNumber = 14}},
{New Element With {.Name = "Phosphorous", .AtomicNumber = 15}},
{New Element With {.Name = "Sulfur", .AtomicNumber = 16}}
}
EndFunctionPublicClass Element
PublicProperty Name AsStringPublicProperty AtomicNumber AsIntegerEndClass
Bu içeriğin kaynağı GitHub'da bulunabilir; burada ayrıca sorunları ve çekme isteklerini oluşturup gözden geçirebilirsiniz. Daha fazla bilgi için katkıda bulunan kılavuzumuzu inceleyin.
.NET geri bildirimi
.NET, açık kaynak bir projedir. Geri bildirim sağlamak için bir bağlantı seçin:
Diğer geliştiriciler ve uzmanlarla gerçek dünyadaki kullanım örneklerini temel alan ölçeklenebilir yapay zeka çözümleri oluşturmak için toplantı serisine katılın.