首页 > 编程语言 >C# List.Where()

C# List.Where()

时间:2024-02-29 11:22:06浏览次数:20  
标签:25 22 C# age List Where public

 List.Where():找出List中满足某个或者某些条件的所有元素。

 1 using System.Collections;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using UnityEngine;
 5 
 6 public class Test : MonoBehaviour
 7 {
 8     /// <summary>
 9     /// 所有学生
10     /// </summary>
11     public List<Student> students = new List<Student>();
12 
13     private void Start()
14     {
15         //提取所有年纪在22和25之间的学生
16         foreach (var student in ExtractStudentsAgedBetween22And25())
17         {
18             Debug.Log(student.ToString());
19         }
20     }
21 
22     #region 提取所有年纪在22和25之间的学生
23 
24     /*//错误写法:无法将List<Student>隐式转换为List<dynamic>
25     List<dynamic> ExtractAllStudentId()
26     {
27         List<dynamic> tempStudents = students.Where(
28                 t => t.age > 22 && t.age < 25
29                 ).ToList();
30 
31         return tempStudents;
32     }*/
33 
34     //正确写法
35     List<Student> ExtractStudentsAgedBetween22And25()
36     {
37         List<Student> tempStudents = students.Where(
38                t => t.age > 22 && t.age < 25
39                ).ToList();
40 
41         return tempStudents;
42     }
43     #endregion
44 }
45 /// <summary>
46 /// 学生信息
47 /// </summary>
48 [System.Serializable]
49 public class Student
50 {
51     /// <summary>
52     /// 名字
53     /// </summary>
54     public string name;
55     /// <summary>
56     /// 年龄
57     /// </summary>
58     public int age;
59     /// <summary>
60     /// 学号
61     /// </summary>
62     public int id;
63     /// <summary>
64     /// 性别
65     /// </summary>
66     public Gender gender;
67 
68     public override string ToString()
69     {
70         return string.Format("{0},{1},{2},{3}", name, age, id, gender == Gender.Female ? "女" : "男");
71     }
72 }
73 /// <summary>
74 /// 性别
75 /// </summary>
76 public enum Gender
77 {
78     /// <summary>
79     /// 女性
80     /// </summary>
81     Female,
82     /// <summary>
83     /// 男性
84     /// </summary>
85     Male,
86 }
View Code

标签:25,22,C#,age,List,Where,public
From: https://www.cnblogs.com/Peng18233754457/p/18043050

相关文章

  • logger & journalctl,LINUX日志管理
    简介:有时候写一些linux系统脚本,外加定时任务,总是希望能看到日志,所以就有了各种骚操作。一:自己写自己写入指定日志,并进行容量管理。#日志文件LOG_FILE=./log/log-$(date'+%Y-%m-%d').txtpath=./logcheck_logs(){if[!-d$path];thenmkdir$pathfi......
  • centos下部署docker
    一、docker概述docker是基于go语言实现的云开源项目,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布流行的linux和windows操作系统的机器上,也可以实现虚拟化。容器是完全使用沙箱机制,相互之间不会有任何接口二、docker的优点系统平滑移植、容器虚拟化,从开发环......
  • cdq分治学习笔记
    简介cdq分治通过分治的思想可以在\(O(n\log^2n)\)的时间内(常数极小)解决如下问题:解决和点对有关的问题/解决偏序问题(三维偏序,动态逆序对)优化dp(拦截导弹)将动态问题转化为静态问题(城市建设)一.解决和点对有关的问题这种问题的通常表述:给定长度为\(n\)的序列,多次......
  • ConcurrentHashMap 核心源码解析
    废话不多说,直接看代码类名与HashMap很相似,数组、链表结构几乎相同,都实现了Map接口,继承了AbstractMap抽象类,大多数的方法也都是相同的publicclassConcurrentHashMap<K,V>extendsAbstractMap<K,V>implementsConcurrentMap<K,V>,Serializable核心方法Node方法......
  • CEIWEI CommMonitor 串口监控精灵v12.7 串口过滤;串口监控
    CEIWEICommMonitor串口监控精灵是用于RS232、RS422串口协议、ModbusRTU/ASCII协议过滤监控抓包的专业工具软件程序。CEIWEICommMonitor监控记录和分析系统中的所有串口活动,并不占用串行端口;追踪应用程序或驱动程序开发,串口设备测试和优化等过程中可能出现的问题的理想工具......
  • 「java.util.concurrent并发包」之 Semaphore
    一Semaphore是什么Semaphore也叫信号量,在JDK1.5被引入,可以用来控制同时访问特定资源的线程数量,通过协调各个线程,以保证合理的使用资源。Semaphore内部维护了一组虚拟的许可,许可的数量可以通过构造函数的参数指定。访问特定资源前,必须使用acquire方法获得许可,如果许可数量为0......
  • Codeforces 863E Turn Off The TV
    能发现其实就是区间加查询区间最小值。如果最小值\(>1\)则这个区间可以删掉。考虑离散化端点,先把区间表示为\([l_i,r_i)\)的形式,方便离散化端点。这样子离散化出来的端点也是\([x,y)\)的形式。对于区间加查询区间最小值,很容易用线段树维护。时间复杂度\(O(n\logn)......
  • 用ChatGPT试了一下,果然好用,生成的CRC的代码
    CEIWEI之前发布过一款Hash/CRC工具,支持从CRC3到CRC64的全部CRC类型功能小工具。因为是免费获取,不少小伙伴们加我微信,要注册码,着实有点忙,没有时间回复各位,抱歉!这几天,用ChatGPT试了一下,果然好用,生成的CRC的代码,稍加修改,直接可用。废话少说,上图!DelphiXE7代码:以上代码是ChatG......
  • 【C++】相对于数组,在链表中添加和删除元素更容易,但排序速度更慢。这就引出了一种可能
    相对于数组,在链表中添加和删除元素更容易,但排序速度更慢。这就引出了一种可能性:相对于使用链表算法进行排序,将链表复制到数组中,对数组进行排序,再将排序后的结果复制到链表中的速度可能更快;但这也可能占用更多的内存。请使用如下方法检验上述假设。a.创建大型vector<int>对象vi0,并......
  • CF514D R2D2 and Droid Army(二分,ST表)
    传送门解题思路直接二分能干掉的人数,然后check函数枚举所有区间,因为m很小,所以可以用m个ST表预处理每个区间对应每个属性的最大值。一是需要注意二分的写法,而是注意check(0)时候的特判。AC代码#include<iostream>#include<algorithm>#include<cmath>#include<cstdio>#......