簡體   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