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 に答える