Queryable.Cast<TResult>(IQueryable) Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
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
Yang IQueryable<T> berisi setiap elemen urutan sumber yang dikonversi ke jenis yang ditentukan.
Pengecualian
source
adalah 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
.