C# OfType() 方法


按每个元素类型过滤集合。

假设您有以下包含整数和字符串元素的列表 −

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

更新于: 2020 年 6 月 23 日

492 次浏览

开启您的 职业生涯

通过完成课程获得认证

开始
广告信息