基于条件重新运行代码块

本文关键字:重新运行 代码 条件 于条件 | 更新日期: 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
}