0

我有

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

为了用零替换源中低于某个阈值的所有值,我应该编写什么 linq 查询?

4

2 回答 2

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;
}
于 2012-12-12T10:40:33.503 回答
2

如果您真的(而不是)数组进行替换,请不要使用 LINQ,只需

for(int i = 0; i < source.Length; i++)
    if (source[i] < threshold)
        source[i] = 0;
于 2012-12-12T10:42:49.860 回答