C#在if循环中使用未分配的局部变量

时间:2016-06-14 10:24:54

标签: c# loops variables undefined local

因为我是一个血腥的初学者,所以我需要一些帮助:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Gauss_Algorithmus
{
    class Program
    {
        static void Main(string[] args)
        {
            if (x1 > 0 && x2 > 0)
            {
                 x02 = (x2 * x1) - (x1 * x2); 
                 y02 = (y2 * x1) - (x1 * y2);
                 z02 = (z2 * x1) - (x1 * z2);
                 d02 = (d2 * x1) - (x1 * d2);
            }
            Console.WriteLine("2.:   " + x02 + "x + " + y02 + "y + " + z02 + "  d02);
       }
   }

它说:

  

使用未分配的局部变量“x01等......

我理解错误,并且知道x01刚刚在本地范围内定义,但由于需要在{{1循环。

我希望你能提前帮助我们,谢谢你们。

2 个答案:

答案 0 :(得分:1)

最好的建议是开始使用C#教程。

专门回答你的问题有两个错误:

  1. 您需要声明变量。基本上使用var x02 = (x2 * x1) - (x1 * x2);
  2. 变量的使用需要在同一范围内。您必须在Console.WriteLine块内移动if,或者您需要在if块之前声明并初始化变量,如下所示:var x02 = 0;

答案 1 :(得分:0)

如前所述,请参阅适合初学者的优秀C#教程。

要使示例代码正常工作,请执行以下操作:

首先声明变量,可能是整数类型,例如

int x1, x2, y1, y2, z1, z2, d1, d2, x02, y02, z02, d02;

在使用之前初始化它们,例如  x1 = *value*; y1 = *value* ...

重新格式化Console.WriteLine语句,例如:  Console.WriteLine("2.: {0}", x02); //for displaying value of x02