List内に一致する要素があれば、その要素だけを先頭へ移動させて、
その他の要素は元のままになるように並べ替える方法です。
#Remove()
Remove()を実行して、一致する要素があったかどうかを事後確認し、
要素があった場合はindex0へInsert()します。
var list = new List<string>() { "A", "B", "C", "D", "E" };
if (list.Remove("C"))
{
list.Insert(0, "C");
}
foreach (var item in list) Console.WriteLine(item);
#IndexOf()
IndexOf() を実行して、一致する要素があればRemoveAt()で削除し、
その後index0へInsert()します。
返り値が0の場合は既に希望の並びになっているので何もしません。
var list = new List<string>() { "A", "B", "C", "D", "E" };
if (list.IndexOf("C") > 0)
{
list.RemoveAt(list.IndexOf("C"));
list.Insert(0, "C");
}
foreach (var item in list) Console.WriteLine(item);
#結果は
C
A
B
D
E
となります。