要素のインデックスが使えるメソッド一覧

要素のインデックスとは?

要素のインデックスとは、foreachで列挙した際の順序を表したものです(0から始まります)

以下のメソッドでは、2つの引数を取るラムダ式を使うことで、要素のインデックスを受け取ることが出来るようになっています。

  • Select
  • SelectMany
  • SkipWhile
  • TakeWhile
  • Where

要素のインデックス使用例

Select()メソッドを例に、要素のインデックスの使用例を見てみます。

あわせて読みたい
string[] fruits = { "apple", "banana", "mango", "orange", 
                      "passionfruit", "grape" };

var query =
    fruits.Select((fruit, index) =>
                      new { index, str = fruit.Substring(0, index) });

foreach (var obj in query)
{
    Console.WriteLine("{0}", obj);
}

/*
 This code produces the following output:

 {index=0, str=}
 {index=1, str=b}
 {index=2, str=ma}
 {index=3, str=ora}
 {index=4, str=pass}
 {index=5, str=grape}
*/
(fruit, index) => new {index, str = fruit.Substring(0, index)}

ここでは、ラムダ式の左辺に注目して下さい。

(fruit, index) => … のように引数を2つを受け取っています。

このうち、index(2つ目の引数)のほうで要素のインデックスを受け取ることが出来るようになっています。

 

よかったらシェアしてね!

この記事を書いた人

LINQの便利さを知ってもらうための活動を行っています。

コメント

コメントする

目次
閉じる