有没有办法可以将以下运行时数组初始化为所有true
而不使用foreach循环它?
以下是声明:
bool[] foo = new bool[someVariable.Count];
谢谢!
答案 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(),那就太好了。
如果我错了,请纠正我。