I know that instantiated arrays of value types in C# are automatically populated with the default value of the type (eg false for bool, 0 for int, etc etc).
Is there a way to autopopulate an array with a seed value that's not the default? Either on creation or a built in method afterwards (I believe Java has something like Array.Fill() which does this)? Say I wanted an boolean array that was true by default, instead of false. Is there a built in way to do this, or do you just have to iterate through the array with a for loop?
//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; }
Having to iterate through the array and "reset" each value to true seems ineffecient. Is there anyway around this? Maybe by flipping all values?
After typing this question out and thinking about it, I'm guessing that the default values are simply a result of how C# handles the memory allocation of these objects behind the scenes, so I imagine it's probably not possible to do this. But I'd still like to know for sure!