C# 如果用户输入在C中为空,则重复此问题#

C# 如果用户输入在C中为空,则重复此问题#,c#,loops,C#,Loops,我的学校代码有一个基本问题。代码需要作为控制台程序询问用户输入,但我需要它在继续之前在输入空字段时重复这个问题。到目前为止,我已经尝试了很多while循环!isStringNullorEmpty、string.Length试图创建一个函数来检查它和一些if语句。这两个我都做不到。程序一直进行到最后 System.Console.Write("Give first name"); String firstname = System.Console.ReadLine(); System.Conso

我的学校代码有一个基本问题。代码需要作为控制台程序询问用户输入,但我需要它在继续之前在输入空字段时重复这个问题。到目前为止,我已经尝试了很多while循环!isStringNullorEmpty、string.Length试图创建一个函数来检查它和一些if语句。这两个我都做不到。程序一直进行到最后

System.Console.Write("Give first name");
String firstname = System.Console.ReadLine();

System.Console.Write("Give last name");
String lastname = System.Console.ReadLine();

System.Console.Write("Give date of birth");
DateTime = dt = DateTime.Parse(System.Console.ReadLine();
你可以试试

string firstName = null;
Console.WriteLine("Give first name");
while(string.IsNullOrWhiteSpace(firstName = Console.ReadLine()))
  Console.WriteLine("OMG you had one job as a user of this application, to put in the right value!");
对于
DateTime

Console.Write("Give date of birth");
while (!DateTime.TryParse(Console.ReadLine(),out var dob))
    Console.Write("OMG you had one job as a user of this application, to put in the right value!");

其他资源

将日期和时间的指定字符串表示形式转换为其 DateTime等效,并返回一个值,该值指示 转换成功

你可以写

   System.Console.Write("Give first name");
   String firstname = null;
   while(firstname==null || firstname==""){
       firstname = System.Console.ReadLine();
   }
试试这个:

String lastname = null;

Console.Write("Give last name: ");

while (!String.IsNullOrEmpty(lastname)) {
    lastname = System.Console.ReadLine();
}
试试这个

            var firstname = string.Empty;
            var lastname = string.Empty;
            var dt = DateTime.MinValue;
            do
            {
                System.Console.Write("Give first name");
                 firstname = System.Console.ReadLine();

            } while (string.IsNullOrEmpty(firstname));
            do
            {
                System.Console.Write("Give last name");
                 lastname = System.Console.ReadLine();
            } while (string.IsNullOrEmpty(lastname));


            do
            {
                System.Console.Write("Give date of birth");
                 dt = DateTime.Parse(System.Console.ReadLine());
            } while (dt != DateTime.MinValue);
试试这个

        bool value = true;

        while (value==true)
        {
            System.Console.Write("Give first name");
            String firstname = System.Console.ReadLine();
            if (firstname == "")
            {
                value = false;
                break;
            }
            System.Console.Write("Give last name");
            String lastname = System.Console.ReadLine();
            if (lastname == "")
            {
                value = false;
                break;
            }
            System.Console.Write("Give date of birth");
             DateTime dt = DateTime.Parse(System.Console.ReadLine());
            if (dt.ToString()=="")
            {
                value = false;
                break;
            }
        }

您应该在包含循环的try中发布代码。然后我们可以告诉您问题出在哪里,而不是编写整个代码。