重複の可能性:
C# 配列に単一の値を設定/インスタンス化する方法は?
指定された double 配列
double[] constraintValue = new double[UnUsedServices.Count];
すべてのエントリを で初期化したいのです-1
が、簡単な構文はありますか?
重複の可能性:
C# 配列に単一の値を設定/インスタンス化する方法は?
指定された double 配列
double[] constraintValue = new double[UnUsedServices.Count];
すべてのエントリを で初期化したいのです-1
が、簡単な構文はありますか?
double[] constraintValue = Enumerable.Repeat<double>(-1d,UnUsedServices.Count).ToArray();
for(int i = 0; i < constraintValue.Length; i++)
constraintValue[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
double[] constraintValue = Enumerable.Repeat(-1D, UnUsedServices.Count).ToArray();
あなたは試すことができます
for(int i =0; i < constraintValue.Length; i ++)
{
constraintValue[i] = -1;
}
for (int i = 0; i < constraintValue.Length; i++)
constraintValue[i] = -1;
int[] initilize_array = newint[10];
for (int i = 0; i <initilize_array.Length; i++)
{
initilize_array[i] = -1;
}
一番簡単な方法です
より高速なパフォーマンスが必要な場合は、Enumerable.Repeat が TPL を使用して並行して実行します。
double[] constraintValue = new double[UnUsedServices.Count];
Parallel.For(0, UnUsedServices.Count, index => constraintValue[index] = -1);
これを「簡単」と呼ぶかどうかはわかりません:
double[] constraintValue = new double[]{ -1, -1,
... (UnUsedServices.Count times)};
そしてもちろん、これを行う標準的な方法は、各配列項目をループして初期化することです。
for(int i = 0; i < constraintValue.Length; i++)
{
constraintValue[i] = -1;
}