当前位置: 首页 > news >正文

C# List类常用操作 之 查找

  
//  
//  
//  作者:鸟哥
//  
//  email:xiaoniao2003@gmail.com
//
//
using System;
using System.Collections.Generic;
using System.Linq;
using System.Runtime.Serialization.Formatters;class Program
{class Student{internal string Name;internal int Age;internal Student(string n, int a){Name = n;Age = a;}public override string ToString(){return "name:"+Name+",age"+Age;}}static void Main(){List<Student> students = new List<Student>{new Student("aa",12),new Student("bb",14),new Student("ff",16),new Student("cc",12),new Student("ee",15),};//是否students中的所有对象的Age都大于10bool b=students.All(stu => stu.Age >10);Console.WriteLine("All:"+b);//是否students中有对象的Age都大于13b = students.Any(stu => stu.Age > 13);Console.WriteLine("Any:"+b);//列表中是否包含某个对象b=students.Contains(new Student("bb", 14));Console.WriteLine("Contains:"+b);b = students.Contains(students[1]);Console.WriteLine("Contains:" + b);//列表中是否存在Name 是 bb的对象b = students.Exists(stu => stu.Name == "bb");Console.WriteLine("Exists:" + b);//搜索Age为12的所有对象的第一个对象Student s=students.Find(stu => stu.Age == 12);Console.WriteLine("Find:" + s);//搜索Age为12的所有对象的最后一个对象s = students.FindLast(stu => stu.Age == 12);Console.WriteLine("FindLast:" + s);//搜索所有Name为bb 或Age为14的对象,以列表形式返回var r=students.FindAll(stu=>stu.Name=="bb"||stu.Age == 14);Console.WriteLine("FindAll:" + r.Count);//获取Name为bb 或Age为14的所有对象的第一个对象int index = students.FindIndex(stu => stu.Name == "bb" || stu.Age == 14);Console.WriteLine("FindIndex:" + index);index=students.IndexOf(students[1]);Console.WriteLine("IndexOf:" + index);}
}

运行结果:

All:True
Any:True
Contains:False
Contains:True
Exists:True
Find:name:aa,age12
FindLast:name:cc,age12
FindAll:1
FindIndex:1
IndexOf:1

相关文章:

  • HarmonyOS鸿蒙应用开发——HTTP网络访问与封装
  • C/C++语言的安全编码规范
  • ssh安装和Gitee(码云)源码拉取
  • 设计模式篇---代理模式
  • Kafka 最佳实践:构建可靠、高性能的分布式消息系统
  • 基于JAVA+SpringBoot+Vue的前后端分离的医院信息智能化HIS系统
  • linux下查看文件当下的所有文件的大小和查找大文件
  • 【Spring Boot 源码学习】ApplicationListener 详解
  • JWT的原理
  • pyqt5使用Designer实现按钮上传图片
  • Vue 纯css方式实现自定义进度条组件
  • SQL注入概述
  • ffmpeg6.0之ffprobe.c源码分析二-核心功能源码分析
  • git 常用的使用方法
  • 初识Redis
  • Android 初级面试者拾遗(前台界面篇)之 Activity 和 Fragment
  • Android系统模拟器绘制实现概述
  • ES6之路之模块详解
  • extract-text-webpack-plugin用法
  • MQ框架的比较
  • Python socket服务器端、客户端传送信息
  • webpack+react项目初体验——记录我的webpack环境配置
  • 阿里云购买磁盘后挂载
  • 对JS继承的一点思考
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 力扣(LeetCode)22
  • 力扣(LeetCode)56
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 体验javascript之美-第五课 匿名函数自执行和闭包是一回事儿吗?
  • 通信类
  • 微信小程序实战练习(仿五洲到家微信版)
  • 一道面试题引发的“血案”
  • 运行时添加log4j2的appender
  • 追踪解析 FutureTask 源码
  • C# - 为值类型重定义相等性
  • ​ 全球云科技基础设施:亚马逊云科技的海外服务器网络如何演进
  • ​力扣解法汇总1802. 有界数组中指定下标处的最大值
  • ​如何使用ArcGIS Pro制作渐变河流效果
  • ​如何在iOS手机上查看应用日志
  • # Redis 入门到精通(八)-- 服务器配置-redis.conf配置与高级数据类型
  • #stm32整理(一)flash读写
  • $$$$GB2312-80区位编码表$$$$
  • (1)(1.8) MSP(MultiWii 串行协议)(4.1 版)
  • (13):Silverlight 2 数据与通信之WebRequest
  • (C++17) optional的使用
  • (delphi11最新学习资料) Object Pascal 学习笔记---第13章第1节 (全局数据、栈和堆)
  • (JS基础)String 类型
  • (接口封装)
  • (力扣)1314.矩阵区域和
  • (算法设计与分析)第一章算法概述-习题
  • (原)本想说脏话,奈何已放下
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • .Net Core 中间件验签
  • .NET/C# 检测电脑上安装的 .NET Framework 的版本
  • .NET设计模式(11):组合模式(Composite Pattern)