Mit Hilfe von LINQ kann man ganz einfach Listen von eigenen Typen sortieren. In diesem Beispiel haben wir eine Liste von Cars, die wir nach der Anzahl der Türen sortieren.
Die Ausgabe auf der Console ist:
Color: yellow, NumberOfDoors: 2, Brand: Opel
Color: blue, NumberOfDoors: 3, Brand: FORD
Color: red, NumberOfDoors: 5, Brand: BMW
using System;
using System.Collections.Generic;
using System.Linq;
namespace ConsoleApp1
{
class Program
{
static void Main(string[] args)
{
List<Car> myCars = new List<Car>();
myCars.Add(new Car() { Color = "red", Brand = "BMW", NumberOfDoors = 5 });
myCars.Add(new Car() { Color = "yellow", Brand = "Opel", NumberOfDoors = 2 });
myCars.Add(new Car() { Color = "blue", Brand = "FORD", NumberOfDoors = 3 });
List<Car> sortedList = myCars.OrderBy(o => o.NumberOfDoors).ToList();
foreach (Car car in sortedList)
Console.WriteLine(car.ToString());
Console.Read();
}
class Car
{
public string Color { get; set; }
public int NumberOfDoors { get; set; }
public string Brand { get; set; }
public override string ToString()
{
return String.Format("Color: {0}, NumberOfDoors: {1}, Brand: {2}", Color, NumberOfDoors, Brand);
}
}
}
}
Kommentare zum Snippet