Ngôn ngữ LINQ - Toán tử lọc OfType
Toán tử lọc OfType trong LINQ
Toán tử OfType
lọc danh sách dựa trên khả năng ép kiểu một phần tử trong danh sách thành kiểu được định.
Toán tử OfType trong cú pháp truy vấn LINQ
Sử dụng toán tử OfType
để lọc danh sách dựa trên kiểu dữ liệu của từng phần tử.
IList mixedList = new ArrayList();
mixedList.Add(0);
mixedList.Add("One");
mixedList.Add("Two");
mixedList.Add(3);
mixedList.Add(new Student() { StudentID = 1, StudentName = "Bill" });
var stringResult = from s in mixedList.OfType<string>()
select s;
var intResult = from s in mixedList.OfType<int>()
select s;
var stdResult = from s in mixedList.OfType<Student>()
select s;
foreach (var str in stringResult)
{
Console.WriteLine(str);
}
foreach (var integer in intResult)
{
Console.WriteLine(integer);
}
foreach (var std in stdResult)
{
Console.WriteLine(std.StudentName);
}
Đây là kết quả khi biên dịch và thực thi chương trình:
One
Two
0
3
Bill
Phương thức mở rộng OfType trong cú pháp phương thức LINQ.
Bạn có thể sử dụng phương thức mở rộng OfType<TResult>()
trong cú pháp phương thức LINQ như bên dưới:
var stringResult = mixedList.OfType<string>();
Đây là kết quả khi biên dịch và thực thi chương trình:
One
Two
Những điểm cần nhớ về toán tử OfType trong LINQ
- Toán tử OfType lọc danh sách dựa trên một kiểu dữ liệu được chỉ định.
- Các phương thức mở rộng OfType có thể được gọi nhiều lần trong một truy vấn LINQ.
Truy cập MSDN để biết thêm thông tin về các toán tử filtering trong LINQ.