C#
 Computer >> コンピューター >  >> プログラミング >> C#

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引数に取得する要素数を指定するだけで、元のリストに影響を与えずに部分リストを作成できるため、データの一部だけを扱いたい場面で非常に便利です。

  1. 【C#】Dictionaryからキーのリストを取得する方法

    C#では、Dictionary<TKey, TValue> に格納されたすべてのキーを、List<TKey> として簡単に取り出すことができます。この記事では、Keys プロパティを使ってキーの一覧をリスト化し、画面に表示するまでの手順をサンプルコード付きで解説します。 Dictionaryに要素を追加する まずは、辞書(Dictionary)に要素を設定しましょう。 Dictionary<int, string> d = new Dictionary<int, string>(); // 辞書の要素 d.Add(1, "One&q

  2. 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); インデックスによる要素の取得 リストから特定の