根据其每个元素类型过滤集合。
假设您有以下包含整数和字符串元素的列表-
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