在c#中使用foreach获取结果

时间:2017-03-13 12:37:10

标签: c# foreach

//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()); 
猜猜这是无效的。

3 个答案:

答案 0 :(得分:0)

也许把它放在If语句中,你就会得到你的结果。

 if(xoverhd == -5)
      MessageBox.Show(xstar.ToString());

答案 1 :(得分:0)

static void Main(string[] args)
{

    double xstar;
    double[] xoverhdarray = new double[] { -5, -4, -3 };
    double userChoice = -5;

    foreach (double xoverhd in xoverhdarray)
    {
        xstar = (xoverhd + 0.5) * 2;

        if (xoverhd == userChoice)
        {
            MessageBox.Show(xstar.ToString()); //Outputs result of calculation
        }
    }
}

答案 2 :(得分:0)

这样做:

<x>.o_shipped