在开发过程中,有时会需要在List中查找某个特定元素,这时我们可以使用List的Find方法来实现,实例如下:
1.首先我们定义一个Student类来模拟我们所需要的的类,每个student有他的学号(Number)和姓氏(LastName)。
public class student
public int Number;
public string LastName;
2.建立一个脚本,声明Students为List,并声明几个student在List中。
private List<student> Students = new List<student>()
new student(){Number = 01,LastName = "Li"},
new student(){Number = 02,LastName = "Wang"},
new student(){Number = 03,LastName = "Wang"},
3.调用方法时,使用Find来寻找学号为1的student
student student01 = Students.Find(s=> s.Number == 01);
Debug.log(student01.LastName);
此时打印出来的结果为“Li”,说明我们已经成功在列表中用Find通过查找元素属性的方式查找到了该元素。
4.那么接下来,我们可以使用FindAll来查找LastName为“Wang”的同学的个数。
int Count = Students.FindAll(s=> s.LastName =="Wang").Count;
Debug.log(Count);
此时打印出来的结果为“2”,说明我们已经成功在列表中用FindAll查找出了含有特定属性的元素的个数。
using UnityEngine;
using System.Collections;
public class GameObjectFunctionTest : MonoBehaviour {
GameObject object_T;
GameObject [] objectS;
// Use this for initialization
void Start ()
1.作用:用于解决一系列类似的问题。
二、List的方法和属性 方法或属性 作用
Capacity 用于获取或设置List可容纳元素的数量。当数量超过容量时,这个值会自动增长。您可以设置这个值以减少容量,也可以调用trin()方法来减少容量以适合实际的元素数目。
Count 属性,用于获取数组中当前元素数量
Item( ) 通过指定索引获取或设置元素。对...
List《T》.FindAll的效率竟然比for循环还差
以上是baidu出来的一篇文章,让我惊诧不已,因为在AI模块我已经使用了很多FindAll。但是,上文的结论是真的吗?我在上文代码基础上增加了多次测试的代码: static void Main(string[] args)
Test(1);
Test(1);
以前为了找到LIST集合中某个特定项,还傻傻的用foreach去遍历集合,再返回符合条件的项。其中,微软早已提供了一个很好的方法来查找特定的LIST,那就是Find()方法。
ListT>.Find()接收一个类型为T的委托,并且返回值为bool类型。
class Program
static void Main(string[] args)
List d
在C#中,List<T>.Find()方法用于在列表中查找满足指定条件的元素,并返回第一个匹配的元素。这个方法接受一个Lambda表达式作为参数,该表达式定义了要搜索的条件。引用\[1\]和引用\[2\]提供了两个示例,分别演示了基础类型和引用类型的使用。
在引用\[1\]中,我们有一个基础类型的列表list1,其中包含一些整数。我们使用Find()方法来查找值为15的元素,并将结果存储在变量l中。最后,我们使用Debug.Log()方法将结果打印出来。
在引用\[2\]中,我们有一个引用类型的列表list1,其中包含一些User对象。我们使用Find()方法来查找Name属性为"小Y"的元素,并将结果存储在变量l中。然后,我们使用Debug.Log()方法打印出找到的元素的Age属性。
引用\[3\]提供了另一个示例,展示了如何使用Find()方法来查找满足指定条件的元素。在这个示例中,我们有一个User对象的列表list,我们使用Find()方法来查找满足特定条件的元素。例如,我们可以使用c.email.StartsWith("ddd")来查找email属性以"ddd"开头的元素,使用c.firstname.Equals("李")来查找firstname属性等于"李"的元素,使用c.lastname.Equals("四")来查找lastname属性等于"四"的元素。
总之,C#中的List<T>.Find()方法是用于在列表中查找满足指定条件的元素的方法,它可以根据不同的条件进行搜索。
#### 引用[.reference_title]
- *1* *2* [【100个 Unity实用技能】| C#中List.Find 方法详解 查找符合要求的第一个元素并返回](https://blog.csdn.net/zhangay1998/article/details/125521606)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
- *3* [C# List中Find的使用方法](https://blog.csdn.net/liangzhuangdongtou/article/details/76512698)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^control_2,239^v3^insert_chatgpt"}} ] [.reference_item]
[ .reference_list ]
CSDN-Ada助手:
Unity Button长按检测
AT巡礼:
Unity 简单事件系统的实现
普通网友:
Unity 射击游戏的准星位置
小泡芙o:
基于UnityGameFramework框架的临时数据节点使用
盼盼编程: