2012-12-12 4 views
0

를 사용하여 임계 값보다 낮은 내가 제로로, 어떤 임계 값 이하로, 소스에서 모든 값을 대체하기 위해 작성해야 무엇 LINQ 쿼리 교체 값 내가 가지고있는 LINQ

int[] source = new[]{ 1, 3, 8, 9, 4 }; 

?

답변

5
int threshold = 2; 
int[] dest = source.Select(i => i < threshold ? 0 : i).ToArray(); 

당신이 이전에 새 배열을 만들 수 있지만, 사용하지 않을 경우 :

당신이 정말로 (의보다는 ) 배열 내에서 교체 후 경우
for(int index=0; index < source.Length; index++) 
{ 
    if(source[index] < threshold) 
     source[index] = 0; 
} 
2

, LINQ를 사용하지 마십시오. 단지

for(int i = 0; i < source.Length; i++) 
    if (source[i] < threshold) 
     source[i] = 0;