and thanks for looking.
I have a 2D c# array, that has 50 as one of its dimensions. The other dimension depends on the number of rows in a database somewhere and is decided at runtime. How would I go about initializing an array like this?
Currently my initialization for a single row looks like this, but I'm sure there's a better way to do it, more efficiently :)
temp = new Double[50,1] { {0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},
{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},{0},
{0},{0},{0},{0},{0},{0},{0},{0},{0},{0}};
Simply initialize the array at runtime using an integer variable for the second dimension.
double[,] = new double[50, v];
C# will automatically initialize all doubles to zero, so in your specific circumstance, you don't need to explicitly initialize the values.
As Toby said, you don't need to explicity set double values to zero since default(double) == 0.0.
However, if you want to initialize all members of an array to some value other than the default for the array's type, you could always do this:
static T[,] GetInitializedArray<T>(int width, int height, T value)
{
var array = new T[width, height];
for (int x = 0; x < width; ++x)
{
for (int y = 0; y < height; ++y)
{
array[x, y] = value;
}
}
return array;
}
This would allow you to write code such as this:
double[,] temp = GetInitializedArray(50, 1, 0.0);
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With