3 回答
TA贡献1934条经验 获得超2个赞
将数组索引存储在变量中,以对其进行解析。
double a[] = new double[4];
int i = 0;
for (double PositionX = 0.0; PositionX <= 12000.0; PositionX += 3000.0)
{
a[i] = [yourvalue];
i++;
}
或者另一种方法是使用List.
List<int> a = new List<int>();
for (double PositionX = 0.0; PositionX <= 12000.0; PositionX += 3000.0)
{
a.Add([yourvalue]);
}
TA贡献1821条经验 获得超6个赞
一种方法是使用索引:
double a[] = new double[4];
int index=0;
for (double PositionX = 0.0; PositionX <= 12000.0; PositionX += 3000.0)
{
//I want the result of the for loop to be stored back into my array.
a[index++]=PositionX ;
}
有很多方法可以做到这一点,也有很多声明、初始化和递增索引的方法。
你可以把它稍微翻转一下,这样会更健壮:
double a[] = new double[4];
int index=0;
double PositionX = 0.0;
for ( index=0; index<a.Length ; ++index )
{
a[index]=PositionX ;
PositionX += 3000.0
}
TA贡献1871条经验 获得超13个赞
您的代码有一些缺陷。在 C# 中创建数组的语法是:
double[] arrayName = new double[elmentCount];
(因此 [] 位于类型名之后,而不是变量名之后)
另外,您还会得到一个IndexOutOfRangeException
,因为 for 循环中的代码将运行 5 次(0、3000、6000、9000 和 12000 均小于或等于 12000),但您的数组只有 4 个元素长。
只是为了向其他解决方案添加一些知识,您还可以使用 Linq 生成包含数字之间具有偶数空格的数组。我鼓励您使用 linq,因为它非常棒。:)
double[] a = Enumerable.Range(0, 4).Select(x => x * 3000.0).ToArray();
Enumerable.Range 生成一个从 0 开始、包含 4 个元素的整数序列。Select 将每个整数与 3000.0 相乘,将其投影为双精度型,然后 ToArray 将结果转换为数组。
结果是一个包含 0.0、3000.0、6000.0、9000.0 的数组。如果您还想包含 12000.0,则只需将 4 更改为 5。
- 3 回答
- 0 关注
- 136 浏览
添加回答
举报