繁体   English   中英

C# 控制台:在 char 变量中输入变量后,如何在 LastName 中输入值?

[英]C# Console : How can i enter a value in LastName after i Enter a variable in the char variable?

这是我的代码:

public static void Main(string[] args) 
{
  string FirstName;
  string LastName;

  char MiddleInitial;

  Console.Write("Enter  first name: ");

  FirstName = Console.ReadLine();

  if (FirstName.Equals("null")) 
  {
    Console.Write("Insert middle initial: ");
    Console.Write("\n Insert last name: \n");
  } 
  else 
  {
    Console.Write("Insert middle initial: ");

    MiddleInitial = (char) Console.Read();

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

    LastName = Console.ReadLine();

    Console.ReadKey();
  }

}

我无法在代码的最后部分输入姓氏变量。 那里有更多知识渊博的人可以回答我的问题吗?

output 总是这样: 输入名字:Jason 插入中间名首字母:f 输入姓氏:

After i press one letter it goes back to the IDE

程序output应该是这样的:

Enter  first name:Joshua 

Insert middle initial:F

Enter  last name:Capili

Enter  first name:null 
Insert middle initial:
Enter  last name:

我尝试执行您的代码,在我的 VS 中它有效。 试试这个代码:

 MiddleInitial = Console.ReadKey().KeyChar;

或这个:

 MiddleInitial = Console.ReadLine()[0];

发生这种情况是因为Console.Read() 将新行附加到 input 当您随后执行Console.Readline()时,缓冲区中已经有一行,因此它将LastName设置为您键入的第一个字符之后的任何内容,即使它是空字符串也是如此。

您可以将ReadLine()用于中间首字母(作为字符串)并只取第一个字符。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM