[英]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.