กรองคอลเล็กชันตามองค์ประกอบแต่ละประเภท
สมมติว่าคุณมีรายการต่อไปนี้ที่มีองค์ประกอบจำนวนเต็มและสตริง −
list.Add("Katie");
list.Add(100);
list.Add(200); เพื่อกรองคอลเลกชันและรับเฉพาะองค์ประกอบที่มีประเภทสตริง
var myStr = from a in list.OfType<string>() select a;
ทำงานแบบเดียวกันสำหรับประเภทจำนวนเต็ม
var myInt = from a in list.OfType<int>() select a;
ต่อไปนี้เป็นรหัสที่สมบูรณ์ -
ตัวอย่าง
using System;
using System.Linq;
using System.Collections;
public class Demo {
public static void Main() {
IList list = new ArrayList();
list.Add("Katie");
list.Add(100);
list.Add(200);
list.Add(300);
list.Add(400);
list.Add("Brad");
list.Add(600);
list.Add(700);
var myStr = from a in list.OfType<string>() select a;
var myInt = from a in list.OfType<int>() select a;
Console.WriteLine("Strings...");
foreach (var strVal in myStr) {
Console.WriteLine(strVal);
}
Console.WriteLine("Integer...");
foreach (var intVal in myInt) {
Console.WriteLine(intVal);
}
}
} ผลลัพธ์
Strings... Katie Brad Integer... 100 200 300 400 600 700