C#でListの要素範囲を取得する方法:GetRange()メソッドの使い方
C#のListで特定の範囲の要素を取得するには、GetRange() メソッドを使用します。このメソッドは、指定したインデックス位置から指定した数の要素を取り出し、新しいリストとして返します。
GetRange() メソッドの基本構文
public List<T> GetRange(int index, int count);
- index:取得を開始する要素のインデックス(0から始まります)
- count:取得する要素の数
リストの作成と要素の追加
まず、リストを作成して要素を追加します。
List<int> arr1 = new List<int>(); arr1.Add(10); arr1.Add(20); arr1.Add(30); arr1.Add(40); arr1.Add(50);
要素の範囲を取得する
次に、GetRange() メソッドを使って、インデックス1から3つの要素を新しいリストとして取得します。
List<int> myList = arr1.GetRange(1, 3);
この場合、インデックス1・2・3に格納されている「20」「30」「40」が新しいリストにコピーされます。元のリスト arr1 は変更されない点にも注意してください。
サンプルコード
以下は、ここまでの処理をまとめた完全なコード例です。
using System;
using System.Collections.Generic;
public class Demo {
public static void Main() {
List<int> arr1 = new List<int>();
arr1.Add(10);
arr1.Add(20);
arr1.Add(30);
arr1.Add(40);
arr1.Add(50);
Console.WriteLine("初期のリスト ...");
foreach (int i in arr1) {
Console.WriteLine(i);
}
Console.WriteLine("範囲内の要素を取得 ...");
List<int> myList = arr1.GetRange(1, 3);
foreach (int res in myList) {
Console.WriteLine(res);
}
}
}
実行結果
初期のリスト ... 10 20 30 40 50 範囲内の要素を取得 ... 20 30 40
まとめ
GetRange() メソッドを使えば、Listから任意の範囲の要素を簡単に切り出すことができます。第1引数に開始インデックス、第2引数に取得する要素数を指定するだけで、元のリストに影響を与えずに部分リストを作成できるため、データの一部だけを扱いたい場面で非常に便利です。
-
【C#】Dictionaryからキーのリストを取得する方法
C#では、Dictionary<TKey, TValue> に格納されたすべてのキーを、List<TKey> として簡単に取り出すことができます。この記事では、Keys プロパティを使ってキーの一覧をリスト化し、画面に表示するまでの手順をサンプルコード付きで解説します。 Dictionaryに要素を追加する まずは、辞書(Dictionary)に要素を設定しましょう。 Dictionary<int, string> d = new Dictionary<int, string>(); // 辞書の要素 d.Add(1, "One&q
-
C#でListコレクションから要素を取得する方法
C#では、List<T>コレクションに格納した要素へ、インデックスを指定するだけで簡単にアクセスできます。本記事では、Listから要素を取得する基本的な方法を、具体的なコード例とともに解説します。 Listへの要素の追加 まず、List<int>型のコレクションを作成し、Addメソッドを使って整数の要素を追加します。 List<int> list = new List<int>(); list.Add(20); list.Add(40); list.Add(60); list.Add(80); インデックスによる要素の取得 リストから特定の