可能重複:
How to populate/instantiate a C# array with a single value?初始化數組的值
鑑於雙陣列
double[] constraintValue = new double[UnUsedServices.Count];
我想-1
初始化所有的入口,有一個簡單的語法來做到這一點?
可能重複:
How to populate/instantiate a C# array with a single value?初始化數組的值
鑑於雙陣列
double[] constraintValue = new double[UnUsedServices.Count];
我想-1
初始化所有的入口,有一個簡單的語法來做到這一點?
for(int i = 0; i < constraintValue.Length; i++)
constraintValue[i] = -1;
你可以用
for(int i =0; i < constraintValue.Length; i ++)
{
constraintValue[i] = -1;
}
試不知道,如果你把這個「易」:
double[] constraintValue = new double[]{ -1, -1,
... (UnUsedServices.Count times)};
和當然,要做到這一點的標準方法是循環在每個陣列項目上進行初始化:
for(int i = 0; i < constraintValue.Length; i++)
{
constraintValue[i] = -1;
}
for (int i = 0; i < constraintValue.Length; i++)
constraintValue[i] = -1;
double[] constraintValue = Enumerable.Repeat(-1D, UnUsedServices.Count).ToArray();
double[] constraintValue = Enumerable.Repeat<double>(-1d,UnUsedServices.Count).ToArray();
int[] initilize_array = newint[10];
for (int i = 0; i <initilize_array.Length; i++)
{
initilize_array[i] = -1;
}
這是最簡單的方式
確切的回答你的問題是:
for(var i =0; i < constraintValue.Length; i ++)
{
constraintValue[i] = -1;
}
但是,如果你想擁有 「未設置」 值,爲什麼你不使用Nullable<double>
?
double?[] constraintValue = new double?[UnUsedServices.Count];
constraintValue[10] = 42D;
constraintValue[20] = 0D;
var x1 = contraintValue[10].HasValue; // true
var x1val = contraintValue[10].Value; // 42D
var x2 = contraintValue[20].HasValue; // true
var x2val = contraintValue[20].Value; // 0D
var x3 = contraintValue[10].HasValue; // false
//var x3val = contraintValue[10].Value; // exception
謝謝,在這裏學到了新東西。 – william007
如果需要更快的性能,然後Enumerable.Repeat做的TPL並行使用:使用了for循環
double[] constraintValue = new double[UnUsedServices.Count];
Parallel.For(0, UnUsedServices.Count, index => constraintValue[index] = -1);
Parallism好! – william007
不,不在這裏。基準測試,你會看到一個很大的性能下降。爲什麼?因爲並行工作太小而且便宜。如果您添加並行性,您的應用程序將不得不使用線程,上下文切換,鎖等工作。此結構性成本比益處要大得多。 –
並添加到史蒂夫的評論,你也摧毀了內存本地化。訪問順序存儲器位置要比對存儲器進行「隨機」訪問要快得多,這是對其進行並行處理的結果。 – Servy
在同一行? –
http://stackoverflow.com/questions/1014005/how-to-populate-instantiate-a-c-sharp-array-with-a-single-value – Pyritie