lambdaでlist<>から重複する値を削除する最速の方法
2023-09-24 06:14:20
質問
リストから重複する値を削除する最も速い方法は何でしょうか。
仮定
List<long> longs = new List<long> { 1, 2, 3, 4, 3, 2, 5 };
そこで、私はラムダを使って重複を除去し、返された:
{1, 2, 3, 4, 5}
. あなたの提案は何ですか?
どのように解決するのですか?
最も簡単な方法は 新しい のリストにすることでしょう。
List<long> unique = longs.Distinct().ToList();
これでいいのでしょうか、それとも突然変異で 既存 のリストを変更する必要がありますか?後者の方が圧倒的に長文になります。
注意点として
Distinct()
は
保証付き
は元の順序を保持することを保証しませんが、現在の実装では保持します - そしてそれは最も
自然な
の実装です。私の
に関するEdulinqブログの記事をご覧ください。
Distinct()
をご覧ください。
必要ない場合は
List<long>
のままにしておけばいい。
IEnumerable<long> unique = longs.Distinct();
この時点では、繰り返し実行するたびに、重複排除が行われます。
unique
を繰り返し実行することになりますが。それが良いか悪いかは、あなたの要件によります。
関連
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] C#のオートプロパティに初期値を与える最良の方法は何ですか?
-
[解決済み] C#でenumからint値を取得する
-
[解決済み] リストからランダムに項目を選択するにはどうすればよいですか?
-
[解決済み] インデックスを指定してリストから要素を削除する方法
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] リストに値が存在するかどうかを確認する最速の方法
-
[解決済み] リスト内包とラムダ+フィルタの比較
-
[解決済み] IList<string> または IEnumerable<string> からカンマ区切りリストを作成する。
-
[解決済み] リストの順番を維持したまま、重複を削除するにはどうしたらいいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"出力タイプがクラスライブラリのプロジェクトは直接起動できない"
-
[解決済み] 'SubSonic.Schema .DatabaseColumn' 型のオブジェクトをシリアライズする際に、循環参照が検出されました。
-
[解決済み】トランスポート接続からデータを読み取れない:既存の接続は、リモートホストによって強制的に閉じられました。
-
[解決済み】非静的メソッドはターゲットを必要とする
-
[解決済み】リソースの読み込みに失敗した:ステータス500(内部サーバーエラー)のサーバーの応答)
-
[解決済み】WPFでXamlファイルにコメントを追加する方法は?
-
[解決済み】Visual Studio: 操作を完了できませんでした。パラメータが正しくありません
-
[解決済み】OnCollisionEnter2Dが実行されない?
-
[解決済み] ...基礎となる接続は閉じられました。予期しないエラーが受信で発生しました
-
[解決済み】パラメータ付きRedirectToAction