함수 c [i] = f (x [i], y [i])가 있다고 가정 해보십시오. 나는 입력 값 배열 x와 y의 길이가 같고 결국 배열 c의 값을 계산하려고합니다. LINQ를 사용하여 어떻게 얻을 수 있습니까? 예를 들어LINQ : 배열 요소가 인덱스로 일치하는 함수 계산
c = new double[x.Length];
for (int i = 0; i < x.Length; i++)
{
c[i] = f(x[i], y[i]);
}
함수 c [i] = f (x [i], y [i])가 있다고 가정 해보십시오. 나는 입력 값 배열 x와 y의 길이가 같고 결국 배열 c의 값을 계산하려고합니다. LINQ를 사용하여 어떻게 얻을 수 있습니까? 예를 들어LINQ : 배열 요소가 인덱스로 일치하는 함수 계산
c = new double[x.Length];
for (int i = 0; i < x.Length; i++)
{
c[i] = f(x[i], y[i]);
}
사용 Zip
방법 :
int[] x = { 1, 2, 3 };
int[] y = { 4, 5, 6 };
var result = x.Zip(y, (i, j) => i + j);
또는 적절한 PARAMS와 이미 방법이있는 경우, 단순히 사용을 : 작성할 필요없이
즉
var result = x.Zip(y, Function);
// in this sample Function looks like:
static int Function(int x, int y)
{
return x + y;
}
간단하게 사용할 수 있습니다 Select
:
c
가 대신
IEnumerable<int>
의
int[]
수 끝에
ToArray
를 추가 할 필요가있는 경우
var c = x.Select((x_i, i) => f(x_i, y[i]));
: 계산
var c = x.Select((x_i, i) => f(x_i, y[i])).ToArray();
당신은 우편 방법을 사용할 수 있습니다
int[] a = { 4, 2, 3 };
int[] b = { 9, 1, 0 };
var result = a.Zip(b, (i, j) => i + j);