【发布时间】:2017-03-13 12:37:10
【问题描述】:
//START OF WORKING PART//
var sizeds = 21;
var xarrayds = new int[sizeds];
var x = new double[sizeds];
for (int i = 0; i < sizeds; i++)
{
xarrayds[i] = i;
x[i] = xPT / 20 * xarrayds[i];
}
MessageBox.Show(x[5].ToString());
//END OF WORKING PART//
//START OF NOT WORKING PART//
double xstar;
double[] xoverhdarray = new double[] {-5, -4, -3};
foreach (double xoverhd in xoverhdarray)
{
xstar = (xoverhd + 0.5) * 2;
MessageBox.Show(xstar{-5}.ToString());
//CAN'T FIND CORRECT SYNTAX ON THIS LINE
}
//NOT WORKING PART//
正如你在上面看到的,在工作部分我得到了 x[5] 的结果。我想在第二部分做同样的事情。我找不到正确的语法。我只想在 xoverhd 为 -5 时得到 xstar 变量的结果
我应该如何编写那行代码?我希望输出为 (-5 + 0.5) * 2 = -9。
编辑:我猜不可能在 foreach 之外得到结果。
double xstar;
double[] xoverhdarray = new double[] {-5, -4, -3};
foreach (double xoverhd in xoverhdarray)
{
xstar = (xoverhd + 0.5) * 2;
}
MessageBox.Show(xstar{-5}.ToString());
猜这是无效的。
【问题讨论】:
-
缩进和变量名的结构方式意味着我跟不上...
-
不是很清楚你要达到什么目的,
-
我会尽量简化我的问题。只需一秒钟。
-
你想要这个吗? 字符串消息 = $"({xoverhdarray[xoverhd ]} + 0.5) * 2 = {xstar} "; MessageBox.Show(message);
-
我希望你也知道这两个循环做不同的事情——第一个循环用值填充两个数组,循环完成后你从其中一个数组中获取第六个值作为消息盒子。第二个遍历一个数组并计算一个存储在
xstar中的值(每次迭代都会被覆盖)——这就是为什么没人知道你真正想要做什么