C#のLINQ ElementAtメソッドで指定インデックスの要素を取得する方法
C#のLINQ ElementAtメソッドとは
C#のElementAt()メソッドは、シーケンス内の指定したインデックス位置にある要素を取得するためのLINQ演算子です。配列やリストなどのコレクションから、任意の位置の要素を簡単に取り出すことができます。
文字列配列の準備
まず、対象となる文字列配列を設定します。
string[] str = { "Jack", "Pat", "David"};ElementAtメソッドで要素を取得する
特定のインデックス位置の要素を取得するには、次の例のようにElementAt()メソッドを使用します。この例では、Randomクラスを使ってランダムなインデックスを生成し、その位置にある要素を取得しています。
サンプルコード
using System.IO;
using System;
using System.Linq;
class Program {
static void Main() {
string[] str = { "Jack", "Pat", "David"};
Random r = new Random(DateTime.Now.Second);
// ランダムな文字列を生成
string res = str.AsQueryable().ElementAt(r.Next(0, str.Length));
Console.WriteLine("Random Name = '{0}'", res);
}
}実行結果
Random Name = 'Jack'
補足:インデックスが範囲外の場合の注意点
指定したインデックスがシーケンスの範囲外である場合、ElementAt()メソッドはArgumentOutOfRangeException例外をスローします。例外を発生させずに既定値(参照型の場合はnull)を返したい場合は、ElementAtOrDefault()メソッドを使用するとより安全に処理できます。
-
【初心者向け】C#のLINQ Whereメソッドの使い方を徹底解説!条件に合う要素を抽出する方法
C# LINQのWhereメソッドとは? C#のLINQに用意されているWhereメソッドは、指定した条件(述語:Predicate)に基づいて、コレクションや配列の中から該当する要素だけを抽出(フィルタリング)するためのメソッドです。 データの一覧から特定の条件を満たす項目のみを取り出したい場面は開発現場で非常に多く、WhereメソッドはLINQの中でも特に使用頻度の高い機能といえます。 例えば、以下のように記述すると「70以上の要素」だけを取得できます。 Where((n, index) => n >= 70); このラムダ式では、各要素 n が70以上であるかどうかを判定し、
-
C#のElementAt()メソッドの使い方をわかりやすく解説
ElementAt()は、C#のSystem.Linq名前空間に含まれる拡張メソッドの一つで、配列やリストなどのシーケンスから、指定したインデックス位置にある要素を取得・表示するために使用します。 基本的な使い方 まず、次のような文字列配列を用意します。 string[] arr = { One, Two, Three, Four, Five }; この配列からインデックス0の要素を取得したい場合は、ElementAt()メソッドにインデックス番号を引数として渡します。 arr.ElementAt(0); サンプルコード 以下は、ElementAt()メソッドを使って特定のインデックスの要素を