このようなプログラムを考えてみましょう:
class MyClass
{
public int Numbers;
public char Letters;
}
class Program
{
static void Main()
{
var mc = new MyClass[5];
for (var i = 0; i < 5; i++)
{
mc[i].Numbers = i + 1;
mc[i].Letters = (char) (i + 65);
}
}
}
mc
ここで、パラメータとして送信される、オブジェクトに含まれるすべての数値を別の配列で必要とする「X」メソッドを想定してみましょう。
私の最初のアイデアは、for、新しい整数配列であり、それぞれの位置に1つずつコピーします。しかし、MyClass
が異なる場合は、文字列と浮動小数点数があり、文字列を引き出したいので、別の「X」メソッドに必要な配列を作成するには、forを内部で完全に再定義する必要があります。
たとえば、Sum、Average、Count、その他の数値関数のジェネリック、そしてもちろん、ラムダ式との組み合わせなど、Linqが大いに役立つケースを知っています。
MyClass
上記の配列(そしてもちろん別の配列)をより高速で一般的な方法で作成するために、同様の何かが存在するかどうか疑問に思っていますか?