![](/img/trans.png)
[英]how can i put a rule that will only let you enter a number in a console application on C#
[英]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.