背景介绍

OfType的定义十分简单:IEnumerable.OfType(TResult),如其定义,其中TRsult为所要过滤的类型。由于非泛型集合一律以Object类型存储对象,因此一个非泛型集合可能存储了各种类型,而OfType()方法可以轻松的对指定的类型进行过滤筛选。

代码如下:

        static void Main(string[] args){            List<Phone> PhoneLists = new List<Phone>(){new Phone { Country = "中国", City = "北京", Name = "小米" },new Phone { Country = "中国",City = "北京",Name = "华为"},new Phone { Country = "中国",City = "北京",Name = "联想"},new Phone { Country = "中国",City = "台北",Name = "魅族"},new Phone { Country = "日本",City = "东京",Name = "索尼"},new Phone { Country = "日本",City = "大阪",Name = "夏普"},new Phone { Country = "日本",City = "东京",Name = "松下"},new Phone { Country = "美国",City = "加州",Name = "苹果"},new Phone { Country = "美国",City = "华盛顿",Name = "三星"},new Phone { Country = "美国",City = "华盛顿",Name = "HTC"}};var Lists = PhoneLists.Select(p => new GetMyPhone().MyPhone(p));var myLists = Lists.OfType<MyPhone>();foreach (var list in myLists){Console.WriteLine($"{list.MyCity} - {list.MyName}");}Console.Read();}public class Phone{public string Country { get; set; }public string City { get; set; }public string Name { get; set; }}public class MyPhone{public string MyCity { get; set; }public string MyName { get; set; }}public class GetMyPhone{public object MyPhone(Phone phone){if (phone.Country.Equals("中国")){MyPhone myphone = new Program.MyPhone(){MyCity = phone.City,MyName = phone.Name};return myphone;}else{return phone;}}}

GetMyPhone类中的MyPhone方法取出指定条件的Phone,上述代码中是Country为中国,组成MyPhone类型并返回,如果不满足条件则返回原来的类型,这意味着属性Lists中有两种类型的实体类,而OfType可以将其中为MyPhone类型取出。

运行结果如下所示:

C#中IEnumerable.OfType()方法的简单使用相关推荐

  1. 对Android中的finish()方法的简单使用

    finish()官方解析:Call this when your activity is done and should be closed. The ActivityResult is propag ...

  2. python条件语句-Python中条件判断语句的简单使用方法

    最简单的条件语句: if expression: expr_true_suite 如上,if是关键字,expression是条件表达式,条件表达式支持多重条件判断,可以用布尔操作符and.or和not ...

  3. python字符计数怎样去除空格_去除python中的字符串空格的简单方法

    python编程中,我们在修改代码,遇到空格很多的情况下,我们要删除空格.本文小编整理了三种字符串去除空格的方法: 方法一:使用字符串函数replace,去除全部空格. 实例: >>> ...

  4. figma设计_一种在Figma中跟踪设计迭代的简单方法

    figma设计 As designers, telling a good story is always part of the job. A great story engages the clie ...

  5. ListView与.FindControl()方法的简单练习 #2 -- ItemUpdting事件中抓取「修改后」的值

    原文出處  http://www.dotblogs.com.tw/mis2000lab/archive/2013/06/24/listview_itemupdating_findcontrol_201 ...

  6. java中使用配置文件_Java中使用Properties配置文件的简单方法

    Java中使用Properties配置文件的简单方法 properties Properties文件是java中的一种配置文件,文件后缀为".properties",文件的内容格式 ...

  7. java线程中join方法的简单讲解

    一.作用 Thread类中的join方法的主要作用就是同步,它可以使得线程之间的并发执行变为串行执行.具体看代码: public class Test {public static void main ...

  8. 业务数据分析中可能用到的简单的数据挖掘方法——相关性分析、主成分分析、因子分析

    业务数据分析中可能用到的简单的数据挖掘方法--相关性分析.主成分分析.因子分析 相关性分析 相关性分析通过相关系数来描述两个变量之间的相关性程度. 通过相关系数判断两者会不会相互影响,影响是正相关还是 ...

  9. html数组添加对象的方法,js声明数组和向数组中添加对象变量的简单实例

    数组有四种定义的方式 使用构造函数: var a = new Array(); var b = new Array(10); var c = new Array("first", ...

最新文章

  1. 旋转Apriltag角度检测
  2. P1726 上白泽慧音
  3. 上传漏洞新姿势(限Linux)
  4. 特斯拉员工入职3天就“偷”代码,悄悄备份6300多Python脚本
  5. addeventlistener事件参数_Vue的钩子事件和程序化侦听
  6. 大厂产品是如何做行业调研和规划的?附汇报模版(PPT)
  7. 让TortoiseGit记住帐号密码方法
  8. C#LeetCode刷题之#189-旋转数组(Rotate Array)
  9. 一顿操作猛如虎!云原生应用为何如此优秀?
  10. testng依赖_TestNG依赖关系–DependOnMethods,dependsOnGroups
  11. 力扣-509 裴波那契数
  12. 6.Linux 高性能服务器编程 --- 高级 I/O 函数
  13. c语言选择结构训练试题,C语言临考练习试题
  14. 写给女朋友的java_Java会说情话的女朋友
  15. APICloud 多端开发 | 拼团商城项目开发难点
  16. 《计算机网络参考模型》
  17. 基因组选择中的参考群更新策略
  18. Spark Streaming + ES构建美团App异常监控平台
  19. 用easyPoi导出excel,带多sheet,合并单元格,合计,单元格金额类型
  20. 到底什么是“云手机”?

热门文章

  1. Citrix Netscaler版本管理和选择
  2. Linux查看系统cpu个数、核心书、线程数
  3. 《Spark核心技术与高级应用》——3.2节构建Spark的开发环境
  4. Spring实战——通过Java代码装配bean
  5. 从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)
  6. LightGBM中GBDT的实现
  7. 【工作记录】android手势事件操作记录
  8. Linux 小知识翻译 - 「Linux的吉祥物企鹅叫什么名字?」
  9. 古墓:黑夜中不断的断龙石敲击声
  10. HBase中的HMaster、HRegionServer、Zookeeper