zoukankan      html  css  js  c++  java
  • Linq 对象的比较 Contains,Max

     

    Contains

        public class StudentEquality : IEqualityComparer<Student>
        {
    
            public static StudentEquality Instance { get; set; }
    
            private StudentEquality()
            {
    
            }
    
            static StudentEquality()
            {
                Instance = new StudentEquality();
            }
    
    
            public bool Equals(Student x, Student y)
            {
                if (x == null || y == null)
                {
                    return false;
                }
    
                if (x.StudentID == y.StudentID)
                {
                    return true;
                }
    
                return false;
            }
    
            public int GetHashCode(Student obj)
            {
                return obj.GetHashCode();
            }
        }
                List<Student> studentList = new List<Student>() {
                    new Student() { StudentID = 1, StudentName = "Zohn", StandardID =1 },
                    new Student() { StudentID = 2, StudentName = "Moin", StandardID =1 },
                    new Student() { StudentID = 3, StudentName = "Bill", StandardID =2 },
                    new Student() { StudentID = 4, StudentName = "Ram1" , StandardID =2 },
                    new Student() { StudentID = 5, StudentName = "Ron1123", StandardID = 3  }
                };
    
                Student s = new Student() { StudentID = 5, StudentName = "Ron1123", StandardID = 3 };
                bool res = studentList.Contains(s, StudentEquality.Instance);
                Console.WriteLine("Contains = " + res);// True

     

     

    Max

        public class StudentComparable : IComparable<StudentComparable>
        {
            public Student Student { get; set; }
    
            public int CompareTo(StudentComparable other)
            {
                if (Student.StudentName.Length > other.Student.StudentName.Length)
                {
                    return 1;
                }
    
                if (Student.StudentName.Length == other.Student.StudentName.Length)
                {
                    return 0;
                }
                return -1;
            }
        }
                IList<Student> studentList = new List<Student>() {
                    new Student() { StudentID = 1, StudentName = "Zohn", StandardID =1 },
                    new Student() { StudentID = 2, StudentName = "Moin", StandardID =1 },
                    new Student() { StudentID = 3, StudentName = "Bill", StandardID =2 },
                    new Student() { StudentID = 4, StudentName = "Ram1" , StandardID =2 },
                    new Student() { StudentID = 5, StudentName = "Ron1123", StandardID = 3  }
                };
                //选出最长的名字的 Student
                StudentComparable max = studentList.Max(m => new StudentComparable { Student = m });
                Console.WriteLine(JsonConvert.SerializeObject(max.Student));
                Console.Read();

  • 相关阅读:
    Python join方法
    Python字符串capitalize center 方法
    Python int 中 add abs 方法
    Nginx Windows 安装启动
    Angularjs 首次加载显示{{}}
    Mysql 字符串截取
    Mysql 主键常用修改
    AES 加密256位 错误 java.security.InvalidKeyException: Illegal key size or default parameters
    Tocmat 启动错误 Port 8005 required by tomcat v7.0 server at localhost is already in use
    Socket IO Web实时推送
  • 原文地址:https://www.cnblogs.com/refuge/p/8150650.html
Copyright © 2011-2022 走看看