[解決済み] LINQを使用してアイテムをリストの先頭に移動させる
2023-05-08 22:18:16
質問
LINQを使って、例えばid=10の項目をリストの最初の項目として移動させる方法はありますか?
アイテムA - id =5 アイテムB - id = 10 アイテムC - id =12 アイテムD - id =1
この場合、項目 C をエレガントな方法で
List<T>
コレクションの先頭に移動させることができますか?
これが今持っているベストです。
var allCountries = repository.GetCountries();
var topitem = allCountries.Single(x => x.id == 592);
var finalList = new List<Country>();
finalList.Add(topitem);
finalList = finalList.Concat(allCountries.Where(x=> x.id != 592)).ToList();
どのように解決するのですか?
LINQはコレクションへのクエリ、既存のクエリに対するプロジェクションの作成、既存のコレクションに基づく新しいクエリの生成に強いです。 既存のコレクションをインラインで並べ替えるためのツールとしては意図されていません。 そのような操作には、手元にある型を使用するのが最善です。
以下のような定義を持つ型があると仮定します。
class Item {
public int Id { get; set; }
..
}
次に、以下を試してみてください。
List<Item> list = GetTheList();
var index = list.FindIndex(x => x.Id == 12);
var item = list[index];
list[index] = list[0];
list[0] = item;
関連
-
[解決済み] LINQを使用してList<T>から要素を削除する
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] LINQで複数の "order by "を使用する
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] List<T>をオブジェクトのプロパティでソートする方法
-
[解決済み] LINQのGroup by
-
[解決済み] DataTableに対するLINQクエリ
-
[解決済み] LINQで.Firstと.FirstOrDefaultを使用するタイミングは?
-
[解決済み] LINQ を使用して、ある List<> にある項目を別の List<> にない項目として取得する。
-
[解決済み】C#のvarキーワードの使い方
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】C#におけるtypedefの等価性
-
[解決済み】値が期待した範囲に収まらない
-
[解決済み] [Solved] 不正な文字列値: '\xEFxBFxBD' for column
-
[解決済み】C#のequal to演算子でtextとvarcharのデータ型は互換性がない
-
[解決済み】2つ(またはそれ以上)のリストを1つに統合する(C# .NETで
-
[解決済み] 2つのリストを結合する
-
[解決済み] 関数を終了するには?
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する
-
[解決済み】データが存在しないのに読み込もうとする試みが無効である
-
[解決済み】Nullableオブジェクトは値を持たなければならない?