Linqでインデックスの配列を使用して配列からアイテムを選択するにはどうすればよいですか?Linqでインデックスの配列を使用して配列からアイテムを選択するにはどうすればよいですか?
次のコードは動作します:
String[] A = new String[] { "one", "two", "three", "four" };
int[] idxs = new int[] { 1, 3 };
String[] B = new String[idxs.Length];
for (int i = 0; i < idxs.Length; i++)
{
B[i] = A[idxs[i]];
}
System.Diagnostics.Debug.WriteLine(String.Join(", ", B));
出力:
two, four
forループを取り除くためにLINQの方法(または他のワンライナー)はありますか?
var b = idxs.Select(x => A[x]).ToArray();
なぜforループを取り除きたいですか?それは遅いですか?読みにくい? –