簡體   English   中英

在do while循環中,當前上下文中不存在名稱“ dx”

[英]The name 'dx' doesn't exist in the current context in a do while loop

在我的代碼開始時,我有一個小問題。 代碼如下:

do
{
    Console.Write("x = ");
    string x = Console.ReadLine();
    double dx = Convert.ToDouble(x);
    Console.Write("X must be bigger than 1.");
}
while (dx > 1);

我希望我的程序要求x,直到它大於1。問題是,在代碼的同時,我得到了這個:

名稱“ dx”在當前上下文中不存在。 我該怎么辦? 還是整個代碼是錯誤的?

您應該在循環外創建dx ,因為變量在{ }外不可見:

double dx;
do
{
    Console.Write("x = ");
    string x = Console.ReadLine();
    dx = Convert.ToDouble(x);
    Console.Write("X must be bigger than 1.");
}
while (dx > 1);

此外,您可以稍微重構代碼:

double dx;
do
{
    Console.Write("x = ");
    dx = Convert.ToDouble(Console.ReadLine()); //you can get exception here if your line can't be converted to double
    Console.Write("X must be bigger than 1.");
}
while (dx > 1);

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM