是否可以在bool上使用Object Initializers?

Ang*_*ker 4 c# object-initializers visual-studio-2008 .net-2.0

是否可以使用对象初始化器在一行中执行以下操作(例如初始化bool数组并将所有元素设置为true)?

int weeks = 5;
bool[] weekSelected = new bool[weeks];
for (int i = 0; i < weeks; i++)
{
    weekSelected[i] = true;
}
Run Code Online (Sandbox Code Playgroud)

我无法让它发挥作用.


编辑:我应该提到我使用VS2008与.NET 2.0(所以Enumerable将无法正常工作).

Lee*_*Lee 9

bool[] weekSelected = Enumerable.Range(0, 5).Select(i => true).ToArray();

编辑:如果你不能使用枚举,你可能可以使用BitArray:

BitArray bits = new BitArray(count, true);
Run Code Online (Sandbox Code Playgroud)

然后根据需要复制到数组:

bool[] array = new bool[count];
bits.CopyTo(array, 0);
Run Code Online (Sandbox Code Playgroud)