C#でリストをソートしたい場合はLINQのOrderBy
を使うと簡単にできるようです。
using System;
using System.Collections.Generic;
using System.Linq;
public class Example1
{
static public void Main ()
{
List list = new List<:int> { 321, 432, 123 };
list = list.OrderBy(i => i).ToList();
foreach(int i in list) {
Console.WriteLine(i);
}
}
}
実行結果
123
321
432
構造体の場合も同じような感じでできます。
using System;
using System.Collections.Generic;
using System.Linq;
public class Example2
{
struct Example
{
public string name;
public int value;
}
static public void Main ()
{
List list = new List<Example> {
new Example { name = "aaa", value = 321 },
new Example { name = "bbb", value = 432 },
new Example { name = "ccc", value = 123 }
};
list = list.OrderBy(e => e.value).ToList();
foreach(Example e in list) {
Console.WriteLine("{0}: {1}", e.name, e.value);
}
}
}
実行結果
ccc: 123
aaa: 321
bbb: 432
リンク
Enumerable.OrderBy Method (System.Linq) | Microsoft Docs
https://docs.microsoft.com/en-us/dotnet/api/system.linq.enumerable.orderby?view=netframework-4.7.2