> 백엔드 개발 > C#.Net 튜토리얼 > C#에서 비교 대리자를 사용하여 복합 유형 목록을 정렬하는 방법은 무엇입니까?

C#에서 비교 대리자를 사용하여 복합 유형 목록을 정렬하는 방법은 무엇입니까?

WBOY
풀어 주다: 2023-08-28 08:05:02
앞으로
1028명이 탐색했습니다.

如何使用 C# 中的比较委托对复杂类型列表进行排序?

List 클래스의 Sort() 메서드 오버로드에는 비교 대리자가 필요합니다. 매개변수로 전달됩니다.

public void Sort(Comparison Comparison)

CompareTo 이 인스턴스의 값이 지정된 개체 또는 다른 Int16 인스턴스의 값보다 작은지, 같은지, 큰지를 나타내는 정수를 반환합니다.

C#의 Int16.CompareTo() 메서드는 이 인스턴스를 지정된 인스턴스와 비교하는 데 사용됩니다. 객체 또는 다른 Int16 인스턴스

Example

class Program{
   public static void Main(){
      Employee Employee1 = new Employee(){
         ID = 101,
         Name = "Mark",
         Salary = 4000
      };
      Employee Employee2 = new Employee(){
         ID = 103,
         Name = "John",
         Salary = 7000
      };
      Employee Employee3 = new Employee(){
         ID = 102,
         Name = "Ken",
         Salary = 5500
      };
      List<Employee> listEmployees = new List<Employee>();
      listEmployees.Add(Employee1);
      listEmployees.Add(Employee2);
      listEmployees.Add(Employee3);
      Console.WriteLine("Employees before sorting");
      foreach (Employee Employee in listEmployees){
         Console.WriteLine(Employee.ID);
      }
      listEmployees.Sort((x, y) => x.ID.CompareTo(y.ID));
      Console.WriteLine("Employees after sorting by ID");
      foreach (Employee Employee in listEmployees){
         Console.WriteLine(Employee.ID);
      }
      listEmployees.Reverse();
      Console.WriteLine("Employees in descending order of ID");
      foreach (Employee Employee in listEmployees){
         Console.WriteLine(Employee.ID);
      }
   }
   // Approach 1 - Step 1
   // Method that contains the logic to compare Employees
   private static int CompareEmployees(Employee c1, Employee c2){
      return c1.ID.CompareTo(c2.ID);
   }
}
public class Employee{
   public int ID { get; set; }
   public string Name { get; set; }
   public int Salary { get; set; }
}
로그인 후 복사

Output

Employees before sorting
101
103
102
Employees after sorting by ID
101
102
103
Employees in descending order of ID
103
102
101
로그인 후 복사

위 내용은 C#에서 비교 대리자를 사용하여 복합 유형 목록을 정렬하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:tutorialspoint.com
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿