首页 > 编程语言 >C# List.Find()、List.FindAll()

C# List.Find()、List.FindAll()

时间:2024-02-28 11:34:42浏览次数:31  
标签:return name C# List public stu Student Find

List.Find() :获取List中第一个符合条件的元素,并返回该元素;
List.FindAll() :获取List中所有符合条件的元素,并最终返回一个列表。

 1 using System.Collections;
 2 using System.Collections.Generic;
 3 using UnityEngine;
 4 
 5 public class Test : MonoBehaviour
 6 {
 7     /// <summary>
 8     /// 所有学生
 9     /// </summary>
10     public List<Student> students = new List<Student>();
11 
12     private void Start()
13     {
14         //查找项羽
15         Debug.Log(FindStudent("项羽").ToString());
16 
17         //查找所有女性
18         foreach (var student in FilterFemales())
19         {
20             Debug.Log(student.ToString());
21         }
22     }
23     /// <summary>
24     /// 查找名为name的学生
25     /// </summary>
26     /// <param name="name">要查找的学生姓名</param>
27     Student FindStudent(string name)
28     {
29         /*//写法1
30         Student student = students.Find(delegate (Student stu)
31         {
32             return stu.name == name;
33         });*/
34 
35         //写法2
36         Student student = students.Find((Student stu) => stu.name == name);
37 
38         return student;
39     }
40     /// <summary>
41     /// 筛选所有女性学生
42     /// </summary>
43     List<Student> FilterFemales()
44     {
45         /*//写法1
46         List<Student> tempStudents = students.FindAll(delegate (Student stu)
47         {
48             return stu.gender == Gender.Female;
49         });*/
50 
51         //写法2
52         List<Student> tempStudents = students.FindAll((Student stu) => stu.gender == Gender.Female);
53 
54         return tempStudents;
55     }
56 }
57 /// <summary>
58 /// 学生信息
59 /// </summary>
60 [System.Serializable]
61 public class Student
62 {
63     /// <summary>
64     /// 名字
65     /// </summary>
66     public string name;
67     /// <summary>
68     /// 年龄
69     /// </summary>
70     public int age;
71     /// <summary>
72     /// 学号
73     /// </summary>
74     public int id;
75     /// <summary>
76     /// 性别
77     /// </summary>
78     public Gender gender;
79 
80     public override string ToString()
81     {
82         return string.Format("{0},{1},{2},{3}", name, age, id, gender == Gender.Female ? "女" : "男");
83     }
84 }
85 /// <summary>
86 /// 性别
87 /// </summary>
88 public enum Gender
89 {
90     /// <summary>
91     /// 女性
92     /// </summary>
93     Female,
94     /// <summary>
95     /// 男性
96     /// </summary>
97     Male,
98 }
View Code

 

标签:return,name,C#,List,public,stu,Student,Find
From: https://www.cnblogs.com/Peng18233754457/p/18039803

相关文章

  • C语言基础知识入门(一)
    C语言一经出现就以其功能丰富、表达能力强、灵活方便、应用面广等特点迅速在全世界普及和推广。C语言不但执行效率高而且可移植性好,可以用来开发应用软件、驱动、操作系统等。C语言也是其它众多高级语言的鼻祖语言,所以说学习C语言是进入编程世界的必修课!一.C语言特点概述C语言......
  • STM32——CAN通讯
    STM32-CAN通讯一、发送和接收流程can通讯传输的是一种差分信号,关于具体的硬件电路略。1、发送流程前置工作:如时钟的开启、引脚的配置;CAN邮箱和模式等配置参考下面或HAL库选择选择一个空置的邮箱(判断空置:CAN_TSR的TMEx位);在这个空置邮箱中按数据帧格式设置ID、数据长度......
  • C#简单爬虫实现
    一、环境.netcore6.0vs2022控制台应用程序Nuget引入:AngleSharp1.1.0用于HTML解析Downloader3.0.6用于下载文件 ShellProgressBar5.2.0用于进度条显示二、效果 三、相关代码1.Program.csusingShellProgressBar;usingSpider;usingSystem.Collections;......
  • Spring Boot使用BESApplicationServer宝兰德替换内嵌Tomcat
    移除自带tomcat<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId><version>${spring.version}</version>......
  • Java中使用Jsoup实现网页内容爬取与Html内容解析并使用EasyExcel实现导出为Excel文件
    场景Pythont通过request以及BeautifulSoup爬取几千条情话:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/87348030Node-RED中使用html节点爬取HTML网页资料之爬取Node-RED的最新版本:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/124182289Jsoup......
  • Sentinel系列之(八)@SentinelResource
    @SentinelResource相当于Hystrix中的@HystrixCommand1.按资源名称限流环境说明启动了单机版的Nacos启动了Sentinel基于项目cloudalibaba-sentinel-service8401继续改造增加RateLimitControllerpackagecom.atguigu.springcloud.alibaba.controller;importcom.ali......
  • Nacos系列之(一)简介
    简介SpringCloudAlibabaNacos服务注册和配置中心1.为什么叫NacosNamingConfigurationService2.是什么官网:一个更易于构建云原生应用的动态服务发现,配置管理和服务管理中心Nacos=Eureka+Config+Bus疑问:Bus是服务总线,为什么也包含在Nacos里3.能干嘛替代Eureka做服......
  • Python: Star unpacking expressions in for statements
    今天发现在Python3.11版本中一个很不错的新特性,可以在for循环中使用unpacking,这意味着可以更灵活地组合迭代对象。ls=[1,2,34]foriin1,2,3,*ls,789:print(i)"""1231234789"""其实我第一次知道for循环中可以使用x,y,z这样的结构,想想也是......
  • sonarqube for code qualities / sonarqube usage
    代码质量检查工具sonarqube的简单使用小册:sonarqubeforcodequalitiesusagebyukyo相关:SONARQUBE官网Setsonarstuffdependencieswithproject,Installsonarlint(plugin)forIDEandsonarscannerOverview|SonarQubeDocstopushprojectcodestosonarqube......
  • leedcode 环形链表
    快慢指针:classSolution:defhasCycle(self,head:Optional[ListNode])->bool:#如果链表为空或者只有一个节点,肯定不存在环ifnotheadornothead.next:returnFalse#初始化慢指针和快指针slow=headf......