使用特定值初始化运行时值类型数组?

时间:2010-10-07 15:37:59

标签: c# .net arrays

有没有办法可以将以下运行时数组初始化为所有true而不使用foreach循环它?

以下是声明:

bool[] foo = new bool[someVariable.Count];

谢谢!

4 个答案:

答案 0 :(得分:6)

bool[] foo = Enumerable.Repeat(true, someVariable.Count)
                       .ToArray();

答案 1 :(得分:2)

bool[] bools = (new bool[someVariable.Count]).Select(x => !x).ToArray();

开玩笑。的种类。几乎。

答案 2 :(得分:1)

是否禁止任何类型的显式循环,或者您只关心避免foreach

bool[] foo = new bool[someVariable.Count];
for (int i = 0; i < foo.Length; i++) foo[i] = true;

答案 3 :(得分:0)

bool[] foo = new bool[]{true,true,true,...};

这是C#中我知道的唯一一种将Array初始化为除默认值之外的某个值的唯一方法,该默认值不涉及创建其他临时对象。 如果类Array有一些方法,如Fill()或Set(),那就太好了。

如果我错了,请纠正我。