C#控制台应用程序执行while循环

C#控制台应用程序执行while循环,c#,console-application,calculator,C#,Console Application,Calculator,我对do while循环有问题。当我这样做的时候 它说:再次使用未赋值变量。我完全不知道为什么 也许这是个愚蠢的问题……对不起,我刚开始学习如何编写代码,我对编程逻辑毫无概念>=35.0){ WriteLine(\n您的BMI为{0:G},严重肥胖),BMI); }否则,如果(体重指数>=30.0){ WriteLine(“\n您的BMI为{0:G},肥胖”,BMI); }否则,如果(体重指数>=25.0){ WriteLine(“\n您的体重指数为{0:G},超重”,体重指数); }否则,如果

我对do while循环有问题。当我这样做的时候

它说:再次使用未赋值变量。我完全不知道为什么

也许这是个愚蠢的问题……对不起,我刚开始学习如何编写代码,我对编程逻辑毫无概念>=35.0){ WriteLine(\n您的BMI为{0:G},严重肥胖),BMI); }否则,如果(体重指数>=30.0){ WriteLine(“\n您的BMI为{0:G},肥胖”,BMI); }否则,如果(体重指数>=25.0){ WriteLine(“\n您的体重指数为{0:G},超重”,体重指数); }否则,如果(体重指数>=18.5){ 控制台.WriteLine(\n您的BMI为{0:G},健康体重),BMI); }否则,如果(体重指数=35){ WriteLine(“你的体重指数是{0:G},严重肥胖”,BMI); }否则,如果(体重指数>=30){ WriteLine(“你的BMI是{0:G},肥胖”,BMI); }否则,如果(体重指数>=25){ WriteLine(“你的体重指数是{0:G},超重”,体重指数); }否则,如果(体重指数>=18.5){ WriteLine(“你的BMI是{0:G},健康体重”,BMI);
}否则,如果(BMI编译器错误是由于您再次声明名为
的变量,但在使用变量之前,您没有(始终)为其赋值

如果未输入分配值的
if
-块,则需要再次确定
应具有的值

您可能希望在声明时将其初始化为
null

string again = null;

编译器错误源于这样一个事实:您再次声明一个名为
的变量
,但在使用它之前,您没有(总是)给它赋值

如果未输入分配值的
if
-块,则需要再次确定
应具有的值

您可能希望在声明时将其初始化为
null

string again = null;

编译器错误源于这样一个事实:您再次声明一个名为
的变量
,但在使用它之前,您没有(总是)给它赋值

如果未输入分配值的
if
-块,则需要再次确定
应具有的值

您可能希望在声明时将其初始化为
null

string again = null;

编译器错误源于这样一个事实:您再次声明一个名为
的变量
,但在使用它之前,您没有(总是)给它赋值

如果未输入分配值的
if
-块,则需要再次确定
应具有的值

您可能希望在声明时将其初始化为
null

string again = null;

您的
字符串再次
没有赋值,并且您不能假设在do while循环中选中它时,它总是有一个值。
只需将其初始化为任何值,如
string reach=“”;

您的
string reach
没有赋值,并且您不能假设它在do while循环中被选中时总是有值。
只需将其初始化为任何值,如
string reach=“”;

您的
string reach
没有赋值,并且您不能假设它在do while循环中被选中时总是有值。
只需将其初始化为任何值,如
string reach=“”;

您的
string reach
没有赋值,并且您不能假设它在do while循环中被选中时总是有值。 只需将其初始化为任何值,如
string=“”;

将再次设置。但如果是!=且是!=2,则永远不会设置再次。 在if语句中添加unelse,在其中再次设置或声明变量并赋值

string again = string.Empty;
将再次设置。但如果是!=且是!=2,则永远不会设置再次。 在if语句中添加unelse,在其中再次设置或声明变量并赋值

string again = string.Empty;
将再次设置。但如果是!=且是!=2,则永远不会设置再次。 在if语句中添加unelse,在其中再次设置或声明变量并赋值

string again = string.Empty;
将再次设置。但如果是!=且是!=2,则永远不会设置再次。 在if语句中添加unelse,在其中再次设置或声明变量并赋值

string again = string.Empty;

如果您只关注代码的重要部分,您会得到以下结果:

string again;
do {
  ...
  if (BMIOption == 1) {
    ...
    again = Console.ReadLine();
  } else if (BMIOption == 2) {
    ...
    again = Console.ReadLine();
  }
} while (again == "y" || again == "Y");
如您所见,如果
BMIOption
与1或2不同,则
再次
将不会被初始化。您最有可能将语句移动到要再次分配ifs之外的位置,如下所示:

do {
  ...
  if (BMIOption == 1) {
    ...
  } else if (BMIOption == 2) {
    ...
  }
  again = Console.ReadLine();
} while (again == "y" || again == "Y");

您也可以使用其他人建议的值再次初始化
变量,但如果
选项
与1或2不同,则不会更新
变量。

如果您只关注代码的重要部分,则会得到以下结果:

string again;
do {
  ...
  if (BMIOption == 1) {
    ...
    again = Console.ReadLine();
  } else if (BMIOption == 2) {
    ...
    again = Console.ReadLine();
  }
} while (again == "y" || again == "Y");
如您所见,如果
BMIOption
与1或2不同,则
再次
将不会被初始化。您最有可能将语句移动到要再次分配ifs之外的位置,如下所示:

do {
  ...
  if (BMIOption == 1) {
    ...
  } else if (BMIOption == 2) {
    ...
  }
  again = Console.ReadLine();
} while (again == "y" || again == "Y");

您也可以使用其他人建议的值再次初始化
变量,但如果
选项
与1或2不同,则不会更新
变量。

如果您只关注代码的重要部分,则会得到以下结果:

string again;
do {
  ...
  if (BMIOption == 1) {
    ...
    again = Console.ReadLine();
  } else if (BMIOption == 2) {
    ...
    again = Console.ReadLine();
  }
} while (again == "y" || again == "Y");
如您所见,如果
BMIOption
与1或2不同,则
再次
将不会被初始化。您最有可能将语句移动到要再次分配ifs之外的位置,如下所示:

do {
  ...
  if (BMIOption == 1) {
    ...
  } else if (BMIOption == 2) {
    ...
  }
  again = Console.ReadLine();
} while (again == "y" || again == "Y");

您也可以使用其他人建议的值再次初始化
变量,但如果
选项
与1或2不同,则不会更新
变量。

如果您只关注代码的重要部分,则会得到以下结果:

string again;
do {
  ...
  if (BMIOption == 1) {
    ...
    again = Console.ReadLine();
  } else if (BMIOption == 2) {
    ...
    again = Console.ReadLine();
  }
} while (again == "y" || again == "Y");
如您所见,如果
bmi选项
与1或2不同,则
将不会再次初始化