1. ホーム
  2. c#

[解決済み] List<T> の2つの項目を入れ替える

2023-03-10 20:31:09

質問

の中の2つのアイテムの位置を入れ替えるLINQの方法はありますか? List<T> ?

どのように解決するのですか?

マークからの回答を確認する C#: Swapメソッドの良い/最高の実装 .

public static void Swap<T>(IList<T> list, int indexA, int indexB)
{
    T tmp = list[indexA];
    list[indexA] = list[indexB];
    list[indexB] = tmp;
}

のようにLinq-i化することができます。

public static IList<T> Swap<T>(this IList<T> list, int indexA, int indexB)
{
    T tmp = list[indexA];
    list[indexA] = list[indexB];
    list[indexB] = tmp;
    return list;
}


var lst = new List<int>() { 8, 3, 2, 4 };
lst = lst.Swap(1, 2);