suchen
HeimBackend-EntwicklungC#.Net-TutorialWie sortiere ich eine Liste komplexer Typen mithilfe von Vergleichsdelegaten in C#?

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

Die Überladung der Sort()-Methode in der List-Klasse erfordert einen Vergleichsdelegierten Als Parameter übergeben.

public void Sort(Comparison Compare)

CompareTo Gibt eine Ganzzahl zurück, die angibt, ob der Wert dieser Instanz kleiner, gleich oder größer als der Wert des angegebenen Objekts oder einer anderen Int16-Instanz ist.

Die Methode Int16.CompareTo() in C# wird verwendet, um diese Instanz mit der angegebenen Instanz zu vergleichen Objekt oder eine andere Int16-Instanz

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

Das obige ist der detaillierte Inhalt vonWie sortiere ich eine Liste komplexer Typen mithilfe von Vergleichsdelegaten in C#?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme
Dieser Artikel ist reproduziert unter:tutorialspoint. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Die Zukunft von C# .NET: Trends und ChancenDie Zukunft von C# .NET: Trends und ChancenApr 29, 2025 am 12:02 AM

Die zukünftigen Trends von C#.NET konzentrieren sich hauptsächlich auf drei Aspekte: Cloud Computing, Microservices, KI und maschinelle Lernintegration und plattformübergreifende Entwicklung. 1) Cloud Computing und Microservices: C#.NET optimiert die Cloud -Umgebungsleistung über die Azure -Plattform und unterstützt die Konstruktion einer effizienten Microservice -Architektur. 2) Integration von KI und maschinellem Lernen: Mit Hilfe der ML.NET -Bibliothek können C# -Entwickler maschinelle Lernmodelle in ihre Anwendungen einbetten, um die Entwicklung intelligenter Anwendungen zu fördern. 3) plattformübergreifende Entwicklung: Durch .NetCore und .NET5 können C# -Anwendungen unter Windows, Linux und MacOS ausgeführt werden, wodurch der Bereitstellungsbereich erweitert wird.

C# .NET -Entwicklung heute: Trends und Best PracticesC# .NET -Entwicklung heute: Trends und Best PracticesApr 28, 2025 am 12:25 AM

Zu den neuesten Entwicklungen und Best Practices in der C#.NET-Entwicklung gehören: 1. Asynchrone Programmierung verbessert die Reaktionsfähigkeit der Anwendungen und vereinfacht nicht blockierende Code mit Async und wartet Keywords. 2. LINQ liefert leistungsstarke Abfragefunktionen, die Daten effizient durch verzögerte Ausführung und Ausdrucksbäume manipulieren. 3. Die Vorschläge zur Leistungsoptimierung umfassen die Verwendung der asynchronen Programmierung, die Optimierung von LINQ -Abfragen, die rationale Verwaltung des Speichers, die Verbesserung der Code -Lesbarkeit und -wartung und das Schreiben von Unit -Tests.

C# .NET: Erstellen von Anwendungen mit dem .NET -ÖkosystemC# .NET: Erstellen von Anwendungen mit dem .NET -ÖkosystemApr 27, 2025 am 12:12 AM

Wie erstelle ich Anwendungen mit .NET? Erstellen Anwendungen mit .NET können in den folgenden Schritten erreicht werden: 1) Verstehen Sie die Grundlagen von .NET, einschließlich C# Sprache und plattformübergreifender Entwicklungsunterstützung; 2) Kernkonzepte wie Komponenten und Arbeitsprinzipien des .NET -Ökosystems lernen; 3) Master Basic und Advanced Nutzung, von einfachen Konsolenanwendungen bis hin zu komplexen Webapis- und Datenbankvorgängen; 4) Mit gemeinsamen Fehlern und Debugging -Techniken wie Konfigurations- und Datenbankverbindungsproblemen vertraut sein; 5) Optimierung der Anwendungsleistung und Best Practices wie asynchrone Programmieren und Zwischenspeichern.

C# als vielseitige .NET -Sprache: Anwendungen und BeispieleC# als vielseitige .NET -Sprache: Anwendungen und BeispieleApr 26, 2025 am 12:26 AM

C# wird häufig in Anwendungen auf Unternehmensebene, Spieleentwicklung, mobilen Anwendungen und Webentwicklung verwendet. 1) In Anwendungen auf Unternehmensebene wird C# häufig für ASP.NetCore zur Entwicklung von WebAPI verwendet. 2) In der Spielentwicklung wird C# mit der Unity Engine kombiniert, um die Rollenkontrolle und andere Funktionen zu realisieren. 3) C# unterstützt Polymorphismus und asynchrone Programmierung, um die Code -Flexibilität und die Anwendungsleistung zu verbessern.

C# .NET für Web-, Desktop- und Mobile -EntwicklungC# .NET für Web-, Desktop- und Mobile -EntwicklungApr 25, 2025 am 12:01 AM

C# und .NET eignen sich für Web-, Desktop- und Mobile -Entwicklung. 1) In der Webentwicklung unterstützt ASP.NetCore die plattformübergreifende Entwicklung. 2) Die Desktop -Entwicklung verwendet WPF und Winforms, die für unterschiedliche Anforderungen geeignet sind. 3) Mobile Entwicklung realisiert plattformübergreifende Anwendungen über Xamarin.

C# .NET -Ökosystem: Frameworks, Bibliotheken und ToolsC# .NET -Ökosystem: Frameworks, Bibliotheken und ToolsApr 24, 2025 am 12:02 AM

Das C#.NET -Ökosystem bietet reichhaltige Frameworks und Bibliotheken, mit denen Entwickler Anwendungen effizient erstellen können. 1.asp.netcore wird verwendet, um Hochleistungs-Webanwendungen zu erstellen. Durch das Verständnis der Nutzung und Best Practices dieser Tools können Entwickler die Qualität und Leistung ihrer Anwendungen verbessern.

Bereitstellen von C# .NET-Anwendungen in Azure/AWS: Eine Schritt-für-Schritt-AnleitungBereitstellen von C# .NET-Anwendungen in Azure/AWS: Eine Schritt-für-Schritt-AnleitungApr 23, 2025 am 12:06 AM

Wie bereitete ich eine C# .NET -App für Azure oder AWS bereit? Die Antwort ist, AzureAppservice und Awselasticbeanstalk zu verwenden. 1. Automatisieren Sie bei Azure die Bereitstellung mit AzureAppservice und AzurePipelines. 2. Verwenden Sie bei AWS Amazon ElasticbeanSpalk und AWSLambda, um Bereitstellungen und serverlosen Computer zu implementieren.

C# .NET: Eine Einführung in die leistungsstarke ProgrammierspracheC# .NET: Eine Einführung in die leistungsstarke ProgrammierspracheApr 22, 2025 am 12:04 AM

Die Kombination von C# und .NET bietet Entwicklern eine leistungsstarke Programmierumgebung. 1) C# unterstützt Polymorphismus und asynchrone Programmierung, 2) .NET bietet plattformübergreifende Funktionen und gleichzeitige Verarbeitungsmechanismen, wodurch sie in der Entwicklung von Desktop-, Web- und mobilen Anwendungen häufig verwendet werden.

See all articles

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

Video Face Swap

Video Face Swap

Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heiße Werkzeuge

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

EditPlus chinesische Crack-Version

EditPlus chinesische Crack-Version

Geringe Größe, Syntaxhervorhebung, unterstützt keine Code-Eingabeaufforderungsfunktion

VSCode Windows 64-Bit-Download

VSCode Windows 64-Bit-Download

Ein kostenloser und leistungsstarker IDE-Editor von Microsoft

SecLists

SecLists

SecLists ist der ultimative Begleiter für Sicherheitstester. Dabei handelt es sich um eine Sammlung verschiedener Arten von Listen, die häufig bei Sicherheitsbewertungen verwendet werden, an einem Ort. SecLists trägt dazu bei, Sicherheitstests effizienter und produktiver zu gestalten, indem es bequem alle Listen bereitstellt, die ein Sicherheitstester benötigen könnte. Zu den Listentypen gehören Benutzernamen, Passwörter, URLs, Fuzzing-Payloads, Muster für vertrauliche Daten, Web-Shells und mehr. Der Tester kann dieses Repository einfach auf einen neuen Testcomputer übertragen und hat dann Zugriff auf alle Arten von Listen, die er benötigt.

ZendStudio 13.5.1 Mac

ZendStudio 13.5.1 Mac

Leistungsstarke integrierte PHP-Entwicklungsumgebung