C#で配列の最後の要素のインデックスを取得する方法
C#で配列の最後の要素のインデックスを取得するには、GetUpperBound()メソッドを使用します。このメソッドは、配列の指定した次元における上限(最後の要素のインデックス)を返します。同様に、最初の要素のインデックスを取得したい場合はGetLowerBound()メソッドを使います。
基本的な使い方
以下の例では、文字列型の配列に対して各種プロパティの確認と、最初・最後の要素のインデックスを取得しています。
サンプルコード
using System;
public class Demo {
public static void Main(){
string[] products = new string[] { "Andy", "Mark", "Gary", "Andre"};
Console.WriteLine("'A'で始まる名前が1つ以上あるか? = {0}",
Array.Exists(products, ele => ele.StartsWith("A")));
Console.WriteLine("配列は固定サイズか? = " + products.IsFixedSize);
Console.WriteLine("配列は読み取り専用か? = " + products.IsReadOnly);
Console.WriteLine("配列は同期されているか? = " + products.IsSynchronized);
Console.WriteLine("最初の要素のインデックス = "+products.GetLowerBound(0));
Console.WriteLine("最後の要素のインデックス = "+products.GetUpperBound(0));
}
}実行結果
このコードを実行すると、次のような出力が得られます。
'A'で始まる名前が1つ以上あるか? = True 配列は固定サイズか? = True 配列は読み取り専用か? = False 配列は同期されているか? = False 最初の要素のインデックス = 0 最後の要素のインデックス = 3
この配列には4つの要素が格納されているため、最後の要素「Andre」のインデックスは3となります。C#の配列は0から始まるため、「要素数 − 1」が最後のインデックスになる点に注意してください。
空の配列の場合の動作
続いて、要素が1つも含まれていない空の配列の場合の挙動を確認してみましょう。
サンプルコード
using System;
public class Demo {
public static void Main(){
string[] products = new string[] { };
Console.WriteLine("配列は固定サイズか? = " + products.IsFixedSize);
Console.WriteLine("配列は読み取り専用か? = " + products.IsReadOnly);
Console.WriteLine("配列は同期されているか? = " + products.IsSynchronized);
Console.WriteLine("最初の要素のインデックス = "+products.GetLowerBound(0));
Console.WriteLine("最後の要素のインデックス = "+products.GetUpperBound(0));
}
}実行結果
配列は固定サイズか? = True 配列は読み取り専用か? = False 配列は同期されているか? = False 最初の要素のインデックス = 0 最後の要素のインデックス = -1
空の配列の場合、GetUpperBound(0)は-1を返すことがわかります。これは「有効な要素が存在しない」ことを示しており、処理前に配列が空かどうかを判定する際にも活用できます。
補足:Lengthプロパティを使う方法
実務では、array.Length - 1を使って最後の要素のインデックスを求めることも一般的です。ただし、空の配列に対してarray[array.Length - 1]のようにアクセスすると例外が発生するため、事前に要素数のチェックを行うか、GetUpperBound()メソッドを利用するのが安全です。
-
C#で配列から最後の要素を取得する方法
C#で配列の最後の要素を取得する方法を解説します。まず、配列を設定しましょう。string[] str = new string[]{ Java, HTML, jQuery, JavaScript, Bootstrap };配列の最後の要素を取得するには、Lengthプロパティで配列の長さを取得し、そこから1を引いた値をインデックスとして指定します。str[str.Length - 1]配列のインデックスは0から始まるため、最後の要素のインデックスは「配列の長さ −
-
Pythonでリストの最後の要素を取得する方法【初心者向け】
Pythonでリストの最後の要素を取得する基本方法 Pythonでは、リストをはじめとするシーケンス型オブジェクトに対して、インデックス(添字)を使って任意の要素にアクセスできます。インデックスは0から始まるため、最初の要素は「0」、2番目の要素は「1」というように指定します。 ここで重要になるのが負のインデックスです。負の数を指定すると、リストの末尾から逆順に数えて要素を取得できます。したがって、リストの最後の要素を取得したい場合は、インデックスとして -1 を指定するだけでOKです。 >>> L1 = [1, 2, 3, 4, 5] >>> print(