C#
 Computer >> コンピューター >  >> プログラミング >> C#

C#で比較デリゲートを使用して複合型のリストを並べ替える方法は?


ListクラスのSort()メソッドのオーバーロードは、比較デリゲートが引数として渡されることを想定しています。

public void Sort(Comparison 比較)

CompareToは、このインスタンスの値が、指定されたオブジェクトまたは他のInt16インスタンスの値よ​​りも小さいか、等しいか、または大きいかを示す整数を返します。

C#のInt16.CompareTo()メソッドは、このインスタンスを指定されたオブジェクトまたは別のInt16インスタンスと比較するために使用されます

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; }
}

出力

Employees before sorting
101
103
102
Employees after sorting by ID
101
102
103
Employees in descending order of ID
103
102
101

  1. JavaScriptを使用して<select>リストアイテムを事前に選択するにはどうすればよいですか?

    JavaScriptを使用してリスト項目を事前選択するには、selectedIndexプロパティを使用します。このプロパティに選択する対象のインデックスを追加します。 ここで、タグの下にある add_select_id はタグのIDですが、 add_item_index 数字のインデックスです。このインデックスはリストアイテムのインデックスです。事前に選択するアイテムに追加する必要があります。 例 次のコードを実行して、JavaScriptを使用してリストアイテムを事前選択することができます- <!DOCTYPE html> <html>  

  2. JavaScriptを使用してHTMLリストを並べ替える方法は?

    JavaScriptを使用してHTMLリストを並べ替えるには、コードは次のとおりです- 例 <!DOCTYPE html> <html> <body> <h1>Sorting list example</h1> <button>Click to sort</button> <ul class="animalList"> <li>Giraffe</li> <li>Camel</li> <li>Dog</li>