![](/img/trans.png)
[英]System.FormatException: Input string was not in a correct format. c#
[英]"System.FormatException: Input string was not in a correct format."
“System.FormatException:輸入字符串的格式不正確。”
這一直停止我的程序並告訴我我沒有將用戶輸入轉換為 integer(因為用戶輸入最初是字符串類型)。
這是我的 C# 項目的代碼:
using System;
namespace Project1 {
class Program {
static void Main(string[] args) {
Console.WriteLine("PREPARING GAME: HEADS AND TAILS");
Console.WriteLine("PRESS ENTER TO CONTINUE");
Console.Read();
Console.WriteLine("PICK A NUMBER:");
Console.WriteLine("1: HEADS");
Console.WriteLine("2: TAILS");
Console.WriteLine("----------------");
int playerNum = Convert.ToInt32(Console.ReadLine()); //Where the trouble happens
}
}
}
如果我認為我已經使用Convert.ToInt32()
方法修復了它,我不確定為什么它會一直報告相同的錯誤。 我嘗試將它轉換為 int16 而不是 int32,因為整數很小,但它仍然會拋出相同的異常錯誤。 我認為我也不需要加倍,因為我真的只要求一個小整數。
Console.Read()
從輸入 stream 中讀取一個字符,windows 回車符是兩個字符\r\n
因此您將\n
留在緩沖區中。
當您到達Console.ReadLine()
時,它正在讀取作為參數傳遞給Convert.ToInt32("\n")
的輸入緩沖區 ( \n
) 的 rest 並引發異常。
將第一個Read()
調用更改為ReadLine()
以從緩沖區讀取完整的回車符,然后當您到達下一個ReadLine()
時緩沖區將為空。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.