我有
int[] source = new[]{ 1, 3, 8, 9, 4 };
我应该编写什么样的linq查询来替换源中的所有值,低于某个阈值,用零?
答案 0 :(得分: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;
}
答案 1 :(得分:2)
如果您真的在中替换(而不是 of ),请不要使用LINQ,只需
for(int i = 0; i < source.Length; i++)
if (source[i] < threshold)
source[i] = 0;