我知道在C#中,值类型的实例化数组会自动填充为该类型的默认值(例如,bool类型为false,int类型为0等)。
有没有办法用非默认的种子值自动填充数组?无论是在创建时还是之后的内置方法(类似于Java的Arrays.fill())?比如说,我想要一个默认为true的布尔数组,而不是false。有没有内置的方法可以实现这个,还是只能通过for循环遍历数组来实现?
有没有办法用非默认的种子值自动填充数组?无论是在创建时还是之后的内置方法(类似于Java的Arrays.fill())?比如说,我想要一个默认为true的布尔数组,而不是false。有没有内置的方法可以实现这个,还是只能通过for循环遍历数组来实现?
// Example pseudo-code:
bool[] abValues = new[1000000];
Array.Populate(abValues, true);
// Currently how I'm handling this:
bool[] abValues = new[1000000];
for (int i = 0; i < 1000000; i++)
{
abValues[i] = true;
}
需要遍历数组并将每个值“重置”为true似乎效率低下。有没有什么办法可以避免这种情况?也许通过翻转所有的值?
在写下这个问题并思考后,我猜测默认值只是C#在幕后处理这些对象的内存分配时的结果,所以我想这可能是不可能的。但我仍然想确切知道!