[解決済み] 汎用リスト - リスト内の項目を移動する
2022-04-21 04:23:36
質問
つまり、一般的なリストと
oldIndex
と
newIndex
の値を指定します。
にあるアイテムを移動させたい。
oldIndex
への
newIndex
...なるべくシンプルに。
何かご提案があればお願いします。
備考
のアイテムの間に挟む必要があります。
(newIndex - 1)
と
newIndex
以前
が削除されました。
解決方法は?
一般的なリスト"と言っているのは分かりますが、特に指定はしていません。 リスト(T) クラスを使用することができますので、別の方法を試してみましょう。
その ObservableCollection(T) クラスには 移動メソッド は、まさにあなたが望むことを行うものです。
public void Move(int oldIndex, int newIndex)
その下には 基本的に はこのように実装されています。
T item = base[oldIndex];
base.RemoveItem(oldIndex);
base.InsertItem(newIndex, item);
ということで、他の方が提案されているスワップ方式は、基本的には ObservableCollection は、独自のMoveメソッドで行っています。
update 2015-12-30です。 のソースコードを見ることができます。 移動 と 移動項目 .NETはオープンソースなので、Reflector/ILSpyを使わずに、今すぐcorefxのメソッドを自分自身で確認することができます。
関連
-
[解決済み] C#のStringとstringの違いは何ですか?
-
[解決済み] for'ループでインデックスにアクセスする?
-
[解決済み] リストのリストからフラットなリストを作るには?
-
[解決済み] リスト内のアイテムのインデックスを検索する
-
[解決済み] リストが空かどうかを確認するにはどうすればよいですか?
-
[解決済み] リストを均等な大きさの塊に分割するには?
-
[解決済み] 辞書のリストを辞書の値でソートするにはどうしたらいいですか?
-
[解決済み] なぜList<T>を継承しないのですか?
-
[解決済み] C#で汎用リストをクローンする方法は?
-
[解決済み】TをEnumに拘束するGenericメソッドの作成
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み】"出力タイプがクラスライブラリのプロジェクトは直接起動できない"
-
[解決済み] エンティティタイプ ApplicationUser は、現在のコンテキストのモデルの一部ではありません。
-
[解決済み】コンパイルエラー「未割り当てのローカル変数を使用しています」が発生したのはなぜですか?
-
解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C# [解決済み] Critical error detected c0000374 - C++ dll returns pointer off allocated memory to C#.
-
[解決済み】「入力文字列が正しい形式ではありませんでした」エラーの解決方法は?[重複しています]。
-
[解決済み】WPFでXamlファイルにコメントを追加する方法は?
-
[解決済み】Unity 「関連するスクリプトを読み込むことができません」「Win32Exception: システムは指定されたファイルを見つけることができません"
-
[解決済み】インデックスが範囲外でした。コレクションパラメータname:indexのサイズより小さく、非負でなければなりません。
-
[解決済み】パラメータ付きRedirectToAction
-
[解決済み] 配列の要素をある配列位置から別の配列位置に移動する。