[C#]リストのインデックスの要素を先頭に移動するには?

C#

どうも、ちょげ(@chogetarou)です。

リスト(List)のインデックスの要素を先頭に移動する方法を紹介します。

スポンサーリンク

方法

インターフェース, インターネット, プログラム, ブラウザ, Www

リスト(List)のインデックスの要素を先頭に移動するには、RemoveAt()とInsert()を使います。

まず、移動するインデックスの要素を取得します。

リストからRemoveAt()を呼び出し、引数に移動するインデックスを指定します。

そして、リストからInsert()を呼び出します。

Insert()の第1引数に「0」、第2引数に取得したインデックスの要素を指定します。

//myList=対象のリスト, moveIndex=移動するインデックス
string moveItem = myList[moveIndex];
myList.RemoveAt(moveIndex);
myList.Insert(0, moveItem);

上記の処理は、リストのインデックスの要素を先頭に移動します。

上記の処理の流れは、以下のようになります。

  1. 移動するインデックスの要素を取得
  2. 移動するインデックスの要素を削除
  3. 取得した要素を先頭に追加

使用例

using System;
using System.Collections.Generic;

public class Example
{
	public static void Main()
	{
		List<string> nums = new List<string>() { "one", "two", "three", "four", "five" };
		
		int moveIndex = 3;
		string moveItem = nums[moveIndex];
		nums.RemoveAt(moveIndex);
		nums.Insert(0, moveItem);
		
		foreach (string item in nums) 
		{
		    Console.WriteLine(item);
		}
	}
}
出力:
four
one
two
three
five

コメント

タイトルとURLをコピーしました