[解決済み] Distinct()メソッドはシーケンスの元の順序を維持しますか?
2023-02-23 09:04:25
質問
リスト内のユニークな要素の順序を変更することなく、リストから重複を削除したいです。
Jon Skeet &他の人は、以下を使用することを提案しました。
list = list.Distinct().ToList();
参照
一意な要素の順序が以前と同じになることは保証されているのでしょうか?もしそうなら、ドキュメントでそれに関するものを見つけられなかったので、これを確認するリファレンスを与えてください。
どのように解決するのですか?
保証はできませんが、最もわかりやすい実装です。ストリーミングで実装するのは難しいでしょう(つまり、できるだけ読み込まずに、できるだけ早く結果を返すような)。 を使わずに 順番に返すことです。
私のブログの記事を読むといいかもしれません。 EdulinqのDistinct()の実装 .
なお、仮にこれがLINQ to Objectsで保証されていたとしても(個人的には は であるべきだと個人的には思います)、それは LINQ to SQL のような他の LINQ プロバイダーには何の意味もないでしょう。
LINQ to Objects 内で提供される保証のレベルは、IMO では時々、少し一貫性がありません。いくつかの最適化は文書化されていますが、そうでないものもあります。ヘック、いくつかのドキュメントは完全に が間違っている .
関連
-
[解決済み】"出力タイプがクラスライブラリのプロジェクトは直接起動できない"
-
[解決済み】GDI+、JPEG画像をMemoryStreamに変換する際にジェネリックエラーが発生しました。
-
[解決済み] 保護レベルによりアクセス不能になりました。
-
[解決済み】Unity 「関連するスクリプトを読み込むことができません」「Win32Exception: システムは指定されたファイルを見つけることができません"
-
[解決済み】ファイルへの読み書きの際に共有違反のIOExceptionが発生する C#
-
[解決済み】ランダムなブーリアンを生成する最速の方法
-
[解決済み】2つ(またはそれ以上)のリストを1つに統合する(C# .NETで
-
[解決済み】インデックスが範囲外でした。コレクションパラメータname:indexのサイズより小さく、非負でなければなりません。
-
[解決済み】ファイルやアセンブリ、またはその依存関係の1つをロードできませんでした。
-
[解決済み] リストの順番を維持したまま、重複を削除するにはどうしたらいいですか?
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】「未割り当てのローカル変数を使用」とはどういう意味ですか?
-
[解決済み】"出力タイプがクラスライブラリのプロジェクトは直接起動できない"
-
[解決済み】ASP.NET Core Dependency Injectionのエラーです。アクティブ化しようとしているときに、タイプのサービスを解決できません。
-
[解決済み] DBNullから他の型にオブジェクトをキャストすることができない
-
[解決済み】EF 5 Enable-Migrations : アセンブリにコンテキストタイプが見つかりませんでした
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み] ...基礎となる接続は閉じられました。予期しないエラーが受信で発生しました
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する
-
[解決済み] C#でList<T>から重複を削除する
-
[解決済み] LINQによる順序の保持