100个 Unity实用技能☀️ | C#泛型集合常用方法,查找符合要求的第一个元素并返回
Posted 呆呆敲代码的小Y
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了100个 Unity实用技能☀️ | C#泛型集合常用方法,查找符合要求的第一个元素并返回相关的知识,希望对你有一定的参考价值。
Unity 小科普
老规矩,先介绍一下 Unity 的科普小知识:
- Unity是 实时3D互动内容创作和运营平台 。
- 包括游戏开发、美术、建筑、汽车设计、影视在内的所有创作者,借助 Unity 将创意变成现实。
- Unity 平台提供一整套完善的软件解决方案,可用于创作、运营和变现任何实时互动的2D和3D内容,支持平台包括手机、平板电脑、PC、游戏主机、增强现实和虚拟现实设备。
- 也可以简单把 Unity 理解为一个游戏引擎,可以用来专业制作游戏!
🎬 博客主页:https://xiaoy.blog.csdn.net
🎥 本文由 呆呆敲代码的小Y 原创,首发于 CSDN🙉
🎄 学习专栏推荐:Unity系统学习专栏
🌲 游戏制作专栏推荐:游戏制作
🌲Unity实战100例专栏推荐:Unity 实战100例 教程
🏅 欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
📆 未来很长,值得我们全力奔赴更美好的生活✨
------------------❤️分割线❤️-------------------------
Unity 实用小技能学习
C#泛型集合常用方法,查找符合要求的第一个元素并返回
之前写了一篇文章介绍了在List中查找第一个元素并返回的文章:
【100个 Unity实用技能】| C#中List.Find 方法详解 查找符合要求的第一个元素并返回
最近发现还有几种其他方法,不止针对List,对C#中的集合都可以使用。
几种方法如下:
1、list.Find(t => t == 666);
不会遍历所有记录,它只需遇到指定的 predicate 满足后即可返回。取序列中满足条件的第一个元素,但是只能在List上使用。
2、list.FirstOrDefault(t => t == 666);
会遍历所有的记录然后再返回结果。取序列中满足条件的第一个元素,如果没有元素满足条件,则返回默认值(对于可以为null的对象,默认值为null,对于不能为null的对象,如int,默认值为0),可以在IEnemerable上使用。
3、list.Where(t => t == 666).ToList().FirstOrDefault();
不如list.FirstOrDefault()的性能好,
类似的方法还有 list.First 这种,与上述三种方法中属于异曲同工之妙,所以不再全部拿出举例。在常用的方法中根据实际情况才用上面几种方法即可。
因为Find方法不会遍历所有记录,找到第一个后立刻返回,但缺点是只能在List中使用。
而FirstOrDefault则在集合类型下都可以使用,但是它会遍历所有的记录。
在通用性和效率的共同驱使下,让我们不得不针对不同情况做出不同选择。正所谓鱼与熊掌不可兼得。
所以结论就是:
在使用List情况下使用 Find,而在其他IEnemrable类型时使用 FirstOrDefault 最佳。
以上是关于100个 Unity实用技能☀️ | C#泛型集合常用方法,查找符合要求的第一个元素并返回的主要内容,如果未能解决你的问题,请参考以下文章
100个 Unity实用技能☀️ | C#中 Add 和 AddRange 的区别 及 使用示例
100个 Unity实用技能☀️ | C#中 Add 和 AddRange 的区别 及 使用示例
100个 Unity实用技能☀️ | C# 检查字典中是否存在某个Key的几种方法
100个 Unity实用技能☀️ | C# 中 Sort() 对List中的数据排序的几种方法 整理总结