zoukankan      html  css  js  c++  java
  • C# List<T>的 Find方法、FindLast方法、FindAll方法、FindIndex方法

    一个简单类

    
    //学生
    public class Student
    {
        private int id;//id
        private string name;//姓名
        private int student_//学号
        public int ID
        {
            get { return id; }
            set { id = value; }
      
        public string NAME
        {
            get { return name; }
            set { name = value; }
      
        public int STUDENT_ID
        {
            get { return student_id; }
            set { student_id = value; }
        }
    }
    
    

    赋值

        Student student = new Student();
        List<Student> list = new List<Student>();
        for (int i = 0; i < 20; i++)
        {
            student.ID = i;
            student.NAME = "学生" + i;
            student.STUDENT_ID = 2000 + i;
            list.Add(student);
            student = new Student();
        }
    
    

    1、使用Find

    `public T Find(Predicate match) { ... }
    查找学生姓名是"学生15"的学生

        Student result1 = list.Find((Student s) => s.NAME == "学生15");
        Console.WriteLine(@"ID:{0};姓名:{1};学号:{2}", result1.ID, 
    result1.NAME, result1.STUDENT_ID);
        Console.ReadKey();
        Console.WriteLine();
    

    结果:
    ID:15;姓名:学生15;学号:2015

    2、使用FindAll

    public List<T> FindAll(Predicate<T> match)
    查找所有ID大于10的学生

        List<Student> result2 = list.FindAll((s) => { return s.ID > 10; });
        foreach (var item in result2)
        {
            Console.WriteLine(@"ID:{0};姓名:{1};学号:{2}", item.ID, 
    item.NAME, item.STUDENT_ID);
        }
        Console.ReadKey();
        Console.WriteLine();
    

    结果:
    ID:11;姓名:学生11;学号:2011
    ID:12;姓名:学生12;学号:2012
    ID:13;姓名:学生13;学号:2013
    ID:14;姓名:学生14;学号:2014
    ID:15;姓名:学生15;学号:2015
    ID:16;姓名:学生16;学号:2016
    ID:17;姓名:学生17;学号:2017
    ID:18;姓名:学生18;学号:2018
    ID:19;姓名:学生19;学号:2019

    3、使用FindLast

    public T FindLast(Predicate<T> match)
    找到最后一个(最新一个)姓名里面有1的

        Student result3 = list.FindLast((Student s) => s.NAME.Contains("1"));
        Console.WriteLine(@"ID:{0};姓名:{1};学号:{2}", result3.ID, 
        result3.NAME, result3.STUDENT_ID);
        Console.ReadKey();
        Console.WriteLine();
    
    

    结果:
    ID:19;姓名:学生19;学号:2019

    4、使用FindIndex

    public int FindIndex(Predicate<T> match)
    找到学生姓名为“学生15”的序号

        int result4 = list.FindIndex((Student s) => s.NAME == "学生15");
        Console.WriteLine(@"序号:{0}", result4);
        Console.ReadKey();
        Console.WriteLine();
    
    

    结果:
    序号:15

    如果您看了本篇博客,觉得对您有所收获,请点击右下角的 [推荐]

    如果您想转载本博客,请注明出处

    如果您对本文有意见或者建议,欢迎留言

    感谢您的阅读,请关注我的后续博客

  • 相关阅读:
    vue脚手架项目配置后端接口(mock数据)
    list添加删除动画(transition-group)
    fast mock官网mock数据
    vuex日志插件(createLogger)
    环形进度条
    程序员的周末生活
    hbase错误之Region in transition异常解决
    不同虚拟机之间的文件传递
    windows上链接虚拟机
    hadoop——yarn
  • 原文地址:https://www.cnblogs.com/AlinaL/p/13279742.html
Copyright © 2011-2022 走看看