[解決済み】List<T>は挿入順序を保証するか?
2022-04-03 05:25:46
質問
Listに3つの文字列があるとします(例: "1","2","3" )。
そして、"2"を1の位置に置くように並べ替えたい(例: "2","1","3" )。
私はこのコードを使っています(indexToMoveToを1に設定)。
listInstance.Remove(itemToMove);
listInstance.Insert(indexToMoveTo, itemToMove);
これはうまくいっているように見えますが、時々おかしな結果が出ます。順番が正しくないとか、リストの項目が削除されてしまうのです
何かアイデアはありますか?は
List<T>
注文を保証しますか?
関連する
どのように解決するのですか?
その
List<>
クラスは順序を保証するものではありません。リストは、明示的にソートしない限り、重複を含めて追加した順番に保持されます。
MSDNによると。
<ブロッククオート...リスト "強く型付けされたオブジェクトのリストを表し、次のことが可能です。 アクセス インデックス ."
そのためにはインデックス値の信頼性が保たれている必要があります。したがって、順序は保証されます。
リスト内の項目を後で移動させる場合、あなたのコードから奇妙な結果が得られるかもしれません。
Remove()
を呼び出す前に、他のすべての項目がひとつ下に移動してしまいます。
Insert()
.
あなたのコードを投稿できるほど小さく煮詰めることができますか?
関連
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】Swashbuckle/Swagger + ASP.Net Core: "Failed to load API definition" (API定義の読み込みに失敗しました
-
[解決済み] C#の[Flags]Enum属性の意味とは?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] List<T>をオブジェクトのプロパティでソートする方法
-
[解決済み] リスト<T>をランダム化する
-
[解決済み] Javaで新しいListを作成する方法
-
[解決済み] クラス内の項目の並び順。フィールド、プロパティ、コンストラクター、メソッド
-
[解決済み] Java 8でリストのリストをリストにするにはどうしたらいいですか?
-
[解決済み] Javaでリストを集合に変換する最も簡単な方法
最新
-
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#
-
[解決済み] エンティティタイプ <type> は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み】Unity3DでOnTriggerEnterが動作しない件
-
[解決済み】取り消せないメンバはメソッドのように使えない?
-
[解決済み】EF 5 Enable-Migrations : アセンブリにコンテキストタイプが見つかりませんでした
-
[解決済み] UnityでOnCollisionEnterが呼ばれない
-
[解決済み】MetadataException: 指定されたメタデータ・リソースをロードできない
-
[解決済み】C#のequal to演算子でtextとvarcharのデータ型は互換性がない
-
[解決済み】ユーザー設定値を別のユーザー設定値で設定する
-
[解決済み】スレッド終了またはアプリケーションの要求により、I/O操作が中断されました。