Queryable.Cast<TResult>(IQueryable) Yöntem

Tanım

öğesinin IQueryable öğelerini belirtilen türe dönüştürür.

public:
generic <typename TResult>
[System::Runtime::CompilerServices::Extension]
 static System::Linq::IQueryable<TResult> ^ Cast(System::Linq::IQueryable ^ source);
public static System.Linq.IQueryable<TResult> Cast<TResult> (this System.Linq.IQueryable source);
static member Cast : System.Linq.IQueryable -> System.Linq.IQueryable<'Result>
<Extension()>
Public Function Cast(Of TResult) (source As IQueryable) As IQueryable(Of TResult)

Tür Parametreleri

TResult

öğelerinin source dönüştürülecek türü.

Parametreler

source
IQueryable

IQueryable Dönüştürülecek öğeleri içeren.

Döndürülenler

IQueryable<TResult>

IQueryable<T> Belirtilen türe dönüştürülen kaynak dizisinin her öğesini içeren bir.

Özel durumlar

source, null değeridir.

Dizideki bir öğe türüne TResultdönüştürilemez.

Örnekler

Aşağıdaki kod örneği, bir dizideki nesneleri türüne Stringdönüştürmek için nasıl kullanılacağını Cast<TResult>(IQueryable) gösterir.


// Create a list of objects.
List<object> words =
    new List<object> { "green", "blue", "violet" };

// Cast the objects in the list to type 'string'
// and project the first letter of each string.
IEnumerable<string> query =
    words.AsQueryable()
    .Cast<string>()
    .Select(str => str.Substring(0, 1));

foreach (string s in query)
    Console.WriteLine(s);

/*  This code produces the following output:

    g
    b
    v
*/

' Create a list of objects.
Dim words As New List(Of Object)(New Object() {"green", "blue", "violet"})

' Cast the objects in the list to type 'string'
' and project the first letter of each string.
Dim query As IEnumerable(Of String) = _
    words.AsQueryable() _
            .Cast(Of String)() _
            .Select(Function(str) str.Substring(0, 1))

For Each s As String In query
    MsgBox(s)
Next

' This code produces the following output:
'
' g
' b
' v

Açıklamalar

yöntemi, Cast<TResult>(IQueryable) kendisini oluşturulan genel bir MethodCallExpression yöntem olarak çağırmayı Cast<TResult>(IQueryable) temsil eden bir oluşturur. Daha sonra parametresinin özelliği tarafından Provider temsil edilen yöntemine IQueryProvidersource iletirMethodCallExpression.CreateQuery(Expression)

Çağrıyı Cast<TResult>(IQueryable) temsil eden bir ifade ağacının yürütülmesi sonucunda oluşan sorgu davranışı, parametre türünün uygulanmasına source bağlıdır. Beklenen davranış, içindeki source değerleri türüne TResultdönüştürmesidir.

Şunlara uygulanır