zoukankan      html  css  js  c++  java
  • Unity 查找泛型List中的相同与不同数据

    Unity查找泛型集合中的不同数据


    本文提供全流程,中文翻译。

    Chinar 坚持将简单的生活方式,带给世人!

    (拥有更好的阅读体验 —— 高分辨率用户请根据需求调整网页缩放比例)


    Chinar —— 心分享、心创新!

    助力快速完成 Unity 服务器的购买、配置、以及网站的搭建

    为新手节省宝贵的时间,避免采坑!


    Chinar 教程效果:
    这里写图片描述



    全文高清图片,点击即可放大观看 (很多人竟然不知道)


    1

    Too tired to write tomorrow —— 太累了,明天写


    比较简单的方式是运用 LinQ 语法来快速的完成查找,并返回一个新的 List

    以下方式查找的,只适用于找值类型的数据
    举个栗子黑白88

    List<int> A = new List<int> { 1, 2, 3, 5 };
    List<int> B = new List<int> { 1, 2, 3, 4 };
    
    List<int> Result = A.Union(B).ToList<int>();  //剔除重复项
    List<int> Result1 = A.Concat(B).ToList<int>(); //保留重复项

    2

    Quote List —— 引用泛型


    查找引用类型的泛型列表时,需要用以下函数来完成查找

    Student ,学生类中,有 2 个参数 名称和分数
    举个栗子黑白88

    /// <summary>
    /// 学生类
    /// </summary>
    public class Student
    {
        public string name; //名称
        public int    num;  //分数
    }
        private void Start()
        {
            List<Student> A = new List<Student>();
            List<Student> B = new List<Student>();
            /*
             * A、B完成赋值后....
             */
    
            //var exp1 = student1.Where(a => student2.Any(t => a.name.Contains(t.name))).ToList();
            //使用Exists同样可以实现 字面上应该更好理解,而且效率要高些
            var exp1 = A.Where(a => B.Exists(t => a.name.Contains(t.name)) && B.Exists(t => a.num == t.num)).ToList();
            print("--查找student1和student2总同时存在的数据--");
            foreach (var student in exp1)
            {
                print(student.name);
            }
    
            //var exp2 = student1.Where(a => student2.All(t => !a.name.Contains(t.name))).ToList();  
            //使用Exists同样可以实现 字面上应该更好理解,而且效率要高些
            var exp2 = A.Where(a => !B.Exists(t => a.name.Contains(t.name)) && !B.Exists(t => a.num == t.num)).ToList();
            print("--查找student1集合中存在,而student2不存在的数据--");
            foreach (var student in exp2)
            {
                print(student.name);
            }
        }

    3

    Quote List —— 引用泛型


    查找引用类型的泛型列表时,需要用以下函数来完成查找

    Student ,学生类中,有 2 个参数 名称和分数
    举个栗子黑白88

    /// <summary>
    /// 学生类
    /// </summary>
    public class Student
    {
        public string name; //名称
        public int    num;  //分数
    }
        private void Start()
        {
            List<Student> A = new List<Student>();
            List<Student> B = new List<Student>();
            /*
             * A、B完成赋值后....
             */
    
            //var exp1 = student1.Where(a => student2.Any(t => a.name.Contains(t.name))).ToList();
            //使用Exists同样可以实现 字面上应该更好理解,而且效率要高些
            var exp1 = A.Where(a => B.Exists(t => a.name.Contains(t.name)) && B.Exists(t => a.num == t.num)).ToList();
            print("--查找student1和student2总同时存在的数据--");
            foreach (var student in exp1)
            {
                print(student.name);
            }
    
            //var exp2 = student1.Where(a => student2.All(t => !a.name.Contains(t.name))).ToList();  
            //使用Exists同样可以实现 字面上应该更好理解,而且效率要高些
            var exp2 = A.Where(a => !B.Exists(t => a.name.Contains(t.name)) && !B.Exists(t => a.num == t.num)).ToList();
            print("--查找student1集合中存在,而student2不存在的数据--");
            foreach (var student in exp2)
            {
                print(student.name);
            }
        }

    支持

    May Be —— 搞开发,总有一天要做的事!


    拥有自己的服务器,无需再找攻略!

    Chinar 提供一站式教程,闭眼式创建!

    为新手节省宝贵时间,避免采坑!


    先点击领取 —— 阿里全产品优惠券 (享受最低优惠)


    1 —— 云服务器超全购买流程 (新手必备!)

    2 —— 阿里ECS云服务器自定义配置 - 购买教程(新手必备!)

    3—— Windows 服务器配置、运行、建站一条龙 !

    4 —— Linux 服务器配置、运行、建站一条龙 !





    技术交流群:806091680 ! Chinar 欢迎你的加入


    END

    本博客为非营利性个人原创,除部分有明确署名的作品外,所刊登的所有作品的著作权均为本人所拥有,本人保留所有法定权利。违者必究

    对于需要复制、转载、链接和传播博客文章或内容的,请及时和本博主进行联系,留言,Email: ichinar@icloud.com

    对于经本博主明确授权和许可使用文章及内容的,使用时请注明文章或内容出处并注明网址

  • 相关阅读:
    uva 11294 Wedding
    uvalive 4452 The Ministers’ Major Mess
    uvalive 3211 Now Or Later
    uvalive 3713 Astronauts
    uvalive 4288 Cat Vs. Dog
    uvalive 3276 The Great Wall Game
    uva 1411 Ants
    uva 11383 Golden Tiger Claw
    uva 11419 SAM I AM
    uvalive 3415 Guardian Of Decency
  • 原文地址:https://www.cnblogs.com/chinarbolg/p/9601363.html
Copyright © 2011-2022 走看看