Veri Türlerini Dönüştürme
Dönüştürme yöntemleri giriş nesnelerin türünü değiştirin.
LINQ sorguları dönüştürme işlemlerinde çeşitli uygulamaları yararlı olur.Bazı örnekler aşağıda verilmektedir:
Enumerable.AsEnumerable``1 Yöntemi, bir türün özel uygulama standart sorgu işlecinin gizlemek için kullanılabilir.
Enumerable.OfType``1 Yöntemi, LINQ sorgulamak için Koleksiyonlar belirlenmi etkinleştirmek için kullanılabilir.
Enumerable.ToArray``1, Enumerable.ToDictionary``2, Enumerable.ToList``1, Ve Enumerable.ToLookup``2 yöntemleri, anlık sorgu yürütme sorguyu numaralandırılan kadar bunu ertelemek yerine zorlamak için kullanılabilir.
Yöntemler
Aşağıdaki tabloda, veri türü dönüştürmeleri gerçekleştirmek standart sorgu işleci yöntemlerini listeler.
Adları "Farklı" başlayan bu tablodaki dönüştürme yöntemleri statik kaynak toplama türünü değiştirmek ancak yeniden numaralandırılmaz.Adları ile kaynağı derlemesini numaralandırır karşılık gelen koleksiyonuna maddeleri yerine koymak "" başlayın ve yöntemleri yazın.
Yöntem adı |
Description |
C# sorgu ifade sözdizimi |
Visual BasicSorgu ifade sözdizimi |
Daha Fazla Bilgi |
---|---|---|---|---|
AsEnumerable |
Olarak yazılan giriş verir IEnumerable. |
Yoktur. |
Yoktur. |
|
AsQueryable |
(Genel) dönüştürür IEnumerable (Genel) IQueryable. |
Yoktur. |
Yoktur. |
|
Cast |
Belirtilen tür bir koleksiyon öðelerinin çevirir. |
Açıkça yazılı aralığı değişkenini kullanın.Örne?in: from string str in words |
From … As … |
|
Sınıfını |
Değerler, belirtilen türde almadaki yeteneklerine göre filtre uygular. |
Yoktur. |
Yoktur. |
|
ToArray |
Bir koleksiyonu bir diziye dönüştürür.Bu yöntem, sorgu yürütme zorlar. |
Yoktur. |
Yoktur. |
|
ToDictionary |
Öğeleri içine koyar bir Dictionary bir anahtar Seçici işlevine bağlı.Bu yöntem, sorgu yürütme zorlar. |
Yoktur. |
Yoktur. |
|
ToList |
Bir koleksiyona dönüştüren bir List.Bu yöntem, sorgu yürütme zorlar. |
Yoktur. |
Yoktur. |
|
ToLookup |
Öğeleri içine koyar bir Lookup (bir-çok sözlük) dayalı bir anahtar Seçici işlevdir.Bu yöntem, sorgu yürütme zorlar. |
Yoktur. |
Yoktur. |
Sorgu ifade sözdizimi örneği
Aşağıdaki kod örneği açıkça yazılı aralık değişkeni C# [NULL]'ta kullanır veya From As yan tümcesinde Visual Basic yalnızca alt türü üzerinde bulunan üye erişmeden önce alt türüne atanamıyor.
Class Plant
Public Property Name As String
End Class
Class CarnivorousPlant
Inherits Plant
Public Property TrapType As String
End Class
Sub Cast()
Dim plants() As Plant = {
New CarnivorousPlant With {.Name = "Venus Fly Trap", .TrapType = "Snap Trap"},
New CarnivorousPlant With {.Name = "Pitcher Plant", .TrapType = "Pitfall Trap"},
New CarnivorousPlant With {.Name = "Sundew", .TrapType = "Flypaper Trap"},
New CarnivorousPlant With {.Name = "Waterwheel Plant", .TrapType = "Snap Trap"}}
Dim query = From plant As CarnivorousPlant In plants
Where plant.TrapType = "Snap Trap"
Select plant
Dim sb As New System.Text.StringBuilder()
For Each plant In query
sb.AppendLine(plant.Name)
Next
' Display the results.
MsgBox(sb.ToString())
' This code produces the following output:
' Venus Fly Trap
' Waterwheel Plant
End Sub
class Plant
{
public string Name { get; set; }
}
class CarnivorousPlant : Plant
{
public string TrapType { get; set; }
}
static void Cast()
{
Plant[] plants = new Plant[] {
new CarnivorousPlant { Name = "Venus Fly Trap", TrapType = "Snap Trap" },
new CarnivorousPlant { Name = "Pitcher Plant", TrapType = "Pitfall Trap" },
new CarnivorousPlant { Name = "Sundew", TrapType = "Flypaper Trap" },
new CarnivorousPlant { Name = "Waterwheel Plant", TrapType = "Snap Trap" }
};
var query = from CarnivorousPlant cPlant in plants
where cPlant.TrapType == "Snap Trap"
select cPlant;
foreach (Plant plant in query)
Console.WriteLine(plant.Name);
/* This code produces the following output:
Venus Fly Trap
Waterwheel Plant
*/
}
Ayrıca bkz.
Görevler
Nasıl yapılır: LINQ ile ArrayList Sorgulama