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

C#でSortedListオブジェクトの指定したインデックスの値を取得する方法

C#のSortedListオブジェクトから、指定したインデックス位置にある値を取得するには、GetByIndexメソッドを使用します。このメソッドは、引数に0から始まるインデックス番号を渡すことで、その位置に格納されている値を返します。

それでは、実際のコード例を見ていきましょう。

サンプルコード1:文字列キーの場合

using System;
using System.Collections;
public class Demo {
   public static void Main(String[] args) {
      SortedList list = new SortedList();
      list.Add("A", "Jacob");
      list.Add("B", "Sam");
      list.Add("C", "Tom");
      list.Add("D", "John");
      list.Add("E", "Tim");
      list.Add("F", "Mark");
      list.Add("G", "Gary");
      Console.WriteLine("Value at index 2 = "+list.GetByIndex(2));
      Console.WriteLine("Value at index 5 = "+list.GetByIndex(5));
      Console.WriteLine("Value at index 6 = "+list.GetByIndex(6));
   }
}

出力結果

上記のコードを実行すると、次のような出力が得られます。

Value at index 2 = Tom
Value at index 5 = Mark
Value at index 6 = Gary

解説

SortedListは、キーによって自動的にソートされて要素を保持するコレクションです。この例では、キー「A」〜「G」がアルファベット順に並んでいるため、インデックス2(3番目)の「Tom」、インデックス5(6番目)の「Mark」、インデックス6(7番目)の「Gary」がそれぞれ取得されています。

サンプルコード2:数値キーの場合

続いて、キーとして整数を使用した別の例を見てみましょう。

using System;
using System.Collections;
public class Demo {
   public static void Main(String[] args) {
      SortedList list = new SortedList();
      list.Add(1, "One");
      list.Add(2, "Two");
      list.Add(3, "Three");
      list.Add(4, "Four");
      list.Add(5, "Five");
      Console.WriteLine("Value at index 0 = "+list.GetByIndex(0));
   }
}

出力結果

上記のコードを実行すると、次のような出力が得られます。

Value at index 0 = One

解説

この例では、キー1〜5が昇順にソートされて格納されています。インデックスは0から始まるため、GetByIndex(0)を呼び出すと、最初の要素である「One」が返されます。

まとめ

SortedListの指定したインデックスの値を取得する際は、GetByIndexメソッドを使います。インデックスは0始まりである点に注意してください。なお、キーから値を取得したい場合はthis[string key]GetByKey的なアクセス(インデクサ)を使用し、用途に応じて使い分けることが重要です。

  1. C#でリスト内の要素のインデックスを検索する方法

    C#のList内から特定の要素がどの位置(インデックス)にあるかを調べたい場合、IndexOf()メソッドを使用します。この記事では、基本的な使い方をサンプルコードとともに解説します。 リストの作成と要素の追加 まず、Listを作成して整数の要素を追加します。 List<int> val = new List<int>(); // 整数の要素を追加 val.Add(35); val.Add(55); val.Add(68); この時点で、リストには「35」「55」「68」の3つの要素が格納されています。それぞれのインデックスは先頭から順に「0」「1」「2」となります。

  2. C#のSortedListクラスのValuesプロパティとは?使い方を実例付きで解説

    C#のSortedListクラスのValuesプロパティとは C#のSortedListクラスには、コレクションに格納されたすべての値(バリュー)を取得できるValuesプロパティが用意されています。キーを意識せずに値だけを順番に取り出したい場合に便利なプロパティです。ここでは、実際のコード例を通して基本的な使い方を解説します。 手順1:SortedListクラスのインスタンスを作成する まず、SortedListクラスを宣言します。 SortedList list = new SortedList(); 手順2:Addメソッドで要素を追加する 続いて、Addメソッドを使ってキーと値のペアを追