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.
Sorgunun sonucunu tanımlar.
Sözdizimi
Select [ var1 = ] fieldName1 [, [ var2 = ] fieldName2 [...] ]
Parçalar
var1
Opsiyonel. Sütun ifadesinin sonuçlarına başvurmak için kullanılabilecek bir diğer ad.
fieldName1
Gerekli. Sorgu sonucunda döndürülecek alanın adı.
Açıklamalar
Sorgudan döndürülecek sonuçları tanımlamak için yan tümcesini kullanabilirsiniz Select . Bu, sorgu tarafından oluşturulan yeni bir anonim türün üyelerini tanımlamanızı veya sorgu tarafından döndürülen adlandırılmış türün üyelerini hedeflemenizi sağlar. Yan Select tümcesi sorgu için gerekli değildir. Herhangi Select bir yan tümce belirtilmezse, sorgu geçerli kapsam için tanımlanan aralık değişkenlerinin tüm üyelerini temel alan bir tür döndürür. Daha fazla bilgi için bkz. Anonim Türler. Sorgu adlandırılmış bir tür oluşturduğunda, oluşturulan tür olan T türün IEnumerable<T> sonucunu döndürür.
yan tümcesi Select geçerli kapsamdaki tüm değişkenlere başvurabilir. Bu, yan tümcesinde From (veya From yan tümcelerinde) tanımlanan aralık değişkenlerini içerir. Ayrıca, , Let, veya yan tümceleri tarafından Aggregatebir diğer adla oluşturulan yeni değişkenleri veya Group Join sorgu ifadesindeki önceki Select bir yan tümceden değişkenleri Group Byiçerir. Yan tümcesi Select statik değerler de içerebilir. Örneğin, aşağıdaki kod örneğinde yan tümcesinin Select sorgu sonucunu dört üyeli yeni bir anonim tür olarak tanımladığı bir sorgu ifadesi gösterilmektedir: ProductName, Price, Discountve DiscountedPrice.
ProductName ve Price üye değerleri yan tümcesinde From tanımlanan ürün aralığı değişkeninden alınır. Üye DiscountedPrice değeri yan tümcesinde Let hesaplanır.
Discount Üye statik bir değerdir.
' 10% discount
Dim discount_10 = 0.1
Dim priceList =
From product In products
Let DiscountedPrice = product.UnitPrice * (1 - discount_10)
Select product.ProductName, Price = product.UnitPrice,
Discount = discount_10, DiscountedPrice
yan tümcesi Select , sonraki sorgu yan tümceleri için yeni bir aralık değişkenleri kümesi sunar ve önceki aralık değişkenleri artık kapsam içinde değildir. Sorgu ifadesindeki son Select yan tümcesi, sorgunun dönüş değerini belirler. Örneğin, aşağıdaki sorgu toplam değeri 500'ü aşan her müşteri siparişi için şirket adını ve sipariş kimliğini döndürür. birinci Select yan tümce yan tümcesi ve ikinci Select yan tümcesi Where için aralık değişkenlerini tanımlar. İkinci Select yan tümce, sorgu tarafından döndürülen değerleri yeni bir anonim tür olarak tanımlar.
Dim customerList = From cust In customers, ord In cust.Orders
Select Name = cust.CompanyName,
Total = ord.Total, ord.OrderID
Where Total > 500
Select Name, OrderID
Yan tümcesi Select döndürülecek tek bir öğe tanımlarsa, sorgu ifadesi bu tek öğenin türünde bir koleksiyon döndürür.
Select Yan tümcesi döndürülecek birden çok öğeyi tanımlarsa, sorgu ifadesi seçilen öğelere göre yeni bir anonim tür koleksiyonu döndürür. Örneğin, aşağıdaki iki sorgu yan tümcesine Select göre iki farklı türde koleksiyonlar döndürür. İlk sorgu, dize olarak bir şirket adları koleksiyonu döndürür. İkinci sorgu, şirket adları ve adres bilgileriyle doldurulmuş bir nesne koleksiyonu Customer döndürür.
Dim customerNames = From cust In customers
Select cust.CompanyName
Dim customerInfo As IEnumerable(Of Customer) =
From cust In customers
Select New Customer With {.CompanyName = cust.CompanyName,
.Address = cust.Address,
.City = cust.City,
.Region = cust.Region,
.Country = cust.Country}
Örnek
Aşağıdaki sorgu ifadesi, koleksiyon için bir From aralık değişkeni cust bildirmek üzere bir yan tümcesi customers kullanır.
Select yan tümcesi müşteri adı ve kimlik değerini seçer ve yeni aralık değişkeninin CompanyName ve CustomerID sütunlarını doldurur. deyimi döndürülen For Each her nesnenin üzerinde döngü oluşturur ve her kaydın CompanyName ve CustomerID sütunlarını görüntüler.
Sub SelectCustomerNameAndId(ByVal customers() As Customer)
Dim nameIds = From cust In customers
Select cust.CompanyName, cust.CustomerID
For Each nameId In nameIds
Console.WriteLine(nameId.CompanyName & ": " & nameId.CustomerID)
Next
End Sub
Ayrıca bakınız
- Visual Basic'da LINQ'e
Giriş - Arama Sorguları
- From İfadesi
- Where Yan Tümcesi
- Order By İfadesi
- Anonim Tipler