กรองคอลเล็กชันตามองค์ประกอบแต่ละประเภท
สมมติว่าคุณมีรายการต่อไปนี้ที่มีองค์ประกอบจำนวนเต็มและสตริง −
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