Queryable.Cast<TResult>(IQueryable) Metode

Definisi

Mengonversi elemen dari ke IQueryable jenis yang ditentukan.

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)

Jenis parameter

TResult

Jenis untuk mengonversi elemen menjadi source .

Parameter

source
IQueryable

IQueryable yang berisi elemen yang akan dikonversi.

Mengembalikan

IQueryable<TResult>

Yang IQueryable<T> berisi setiap elemen urutan sumber yang dikonversi ke jenis yang ditentukan.

Pengecualian

sourceadalah null.

Elemen dalam urutan tidak dapat dilemparkan ke jenis TResult.

Contoh

Contoh kode berikut menunjukkan cara menggunakan Cast<TResult>(IQueryable) untuk mengonversi objek dalam urutan untuk mengetik String.


// 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

Keterangan

Metode ini Cast<TResult>(IQueryable) menghasilkan MethodCallExpression yang mewakili pemanggilan Cast<TResult>(IQueryable) dirinya sebagai metode generik yang dibangun. Kemudian meneruskan MethodCallExpression ke CreateQuery(Expression) metode dari yang diwakili IQueryProvider oleh Provider properti source parameter .

Perilaku kueri yang terjadi sebagai akibat dari menjalankan pohon ekspresi yang mewakili panggilan Cast<TResult>(IQueryable) tergantung pada implementasi jenis source parameter. Perilaku yang diharapkan adalah mengonversi nilai source menjadi jenis TResult.

Berlaku untuk