作業したいだけの場合は、 orをクラスSort()
に実装する必要があります。IComparable
IComparable<T>
新しいリストを作成してもかまわない場合は、 OrderBy
/ ToList
LINQ 拡張メソッドを使用できます。より単純な構文で既存のリストを並べ替えたい場合は、いくつかの拡張メソッドを追加して、次を有効にすることができます。
list.Sort(item => item.Name);
例えば:
public static void Sort<TSource, TValue>(
this List<TSource> source,
Func<TSource, TValue> selector)
{
var comparer = Comparer<TValue>.Default;
source.Sort((x, y) => comparer.Compare(selector(x), selector(y)));
}
public static void SortDescending<TSource, TValue>(
this List<TSource> source,
Func<TSource, TValue> selector)
{
var comparer = Comparer<TValue>.Default;
source.Sort((x, y) => comparer.Compare(selector(y), selector(x)));
}