基于条件重新运行代码块
本文关键字:重新运行 代码 条件 于条件 | 更新日期: 2023-09-27 18:29:40
我正在编写一个基本的控制台程序,如下所示。后一段代码根本不起作用,这让我很恼火。检查用户输入的年龄并从Console.WriteLine重新运行代码的最佳方法是什么("好的。现在请输入您的年龄。");到if语句。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Practice
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Thank you for participating in this survey. Please take a moment to fill out the required information.");
Console.WriteLine("Please Type Your Name");
string name = Console.ReadLine();
Console.WriteLine("Okay. Now please enter your age.");
string age = Console.ReadLine();
Console.WriteLine("Your information has been submitted.");
Console.WriteLine("Name: " + name + "'n" + "Age: " + age);
Console.ReadLine();
int newAge = Int32.Parse(age);
if (newAge => 18)
{
}
}
}
}
您也可以使用TryParse,它为您进行错误测试,并将解析后的值作为out参数返回。由于TryParse返回一个bool值,您可以很容易地检查转换是否有效。
string age = null;
int ageValue = 0;
bool succeeded = false;
while (!succeeded)
{
Console.WriteLine("Okay, now input your age:");
age = Console.ReadLine();
succeeded = int.TryParse(age, out ageValue);
}
你也可以把它反过来做…而
string age = null;
int ageValue = 0;
do
{
Console.WriteLine("Okay, now input your age:");
age = Console.ReadLine();
} while (!int.TryParse(age, out ageValue));
替换此:
int newAge = Int32.Parse(age);
用这个
int newAge = Convert.ToInt32(age);
如果你想更好地使用代码,请尝试捕获
try
{
int newAge = Convert.ToInt32(age);
}
catch(FormatException)
{
//do something
}