可能重复:
如何使用单个值填充/实例化 C# 数组?
给定双数组
double[] constraintValue = new double[UnUsedServices.Count];
我想用 初始化所有条目-1
,有简单的语法吗?
可能重复:
如何使用单个值填充/实例化 C# 数组?
给定双数组
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;
double[] constraintValue = Enumerable.Repeat(-1D, UnUsedServices.Count).ToArray();
您的问题的确切答案是:
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
你可以试试
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;
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);