2014-04-23 2 views
7

Linq를 사용하여 배열에 인수를 곱하는 데 관심이 있습니다.Linq를 사용하여 factor로 네이티브 C# 배열 곱하기

내 현재 코드는 다음과 같습니다

public static double[] multiply(double[] x, double factor) 
{ 
    if (x == null) throw new ArgumentNullException(); 
    double[] result = new double[x.Length]; 
    for (int i = 0; i < x.Length; i++) 
    { 
     result[i] = x[i] * factor; 
    } 
    return result; 
} 

무엇 Linq에이 일을 가장 효율적인 방법이며, 더 나은 성능을 제공 할 것입니다?

double[] result = x.Select(r=> r * factor).ToArray(); 

이 효율적으로 될 것이다 : 당신은 같은 LINQ를 통해 그렇게 할 수

+0

Downvoter : 설명해 주시겠습니까? – drexiya

답변

8

? 정말 모르겠다. 그러나 성능 향상이있을지라도 무시할 수있을만큼 간결합니다. LINQ는 내부적으로 루프를 사용하므로 방법은 다음과 같을 수 있습니다.

public static double[] multiply(double[] x, double factor) 
{ 
    if (x == null) throw new ArgumentNullException(); 
    return x.Select(r => r * factor).ToArray(); 
} 
+0

네, 감사합니다. – drexiya

+0

@drexiya, 여러분은 환영합니다. – Habib