在我的代碼中,我得到了很多由空格分隔的數字。所以例如,我得到318個數字,我需要把它們放在一個數組中。 所以我這樣做:轉換字符串時編譯錯誤
int[] alleNummers = Array.ConvertAll(Console.ReadLine().Split(new[] { ' ' }), int.Parse);
但是當我在填寫此長度的數字:
4 1 3 3 4 6 10 1 1 8 7 1 8 6 11 9 2 6 9 1 8 2 12 9 12 1 3 1 6 8 6 10 9 9 1 1 2 11 2 2 6 8 3 1 1 2 10 3 7 6 3 3 7 2 11 7 2 2 7 8 10 1 6 6 9 7 7 11 5 8 1 10 3 3 11 4 4 8 6 11 2 8 1 9 10 12 3 12 1 10 8 11 11 1 4 8 7 10 6 11 6 7 9 8 10 8 11 1 4 5 12 5 1 1 1 10 12 4 10 1 2 5 11 12 6 3 7 1 1 1 12 6 7 9 2 4 4 12 5 7 5 5 12 5 5 12 3 5 4 12 5 5 5 4 4 10 7 11 10 7 12 10 1 7 6 2 11 10 2 4 4 6 8 4 11 1 3 1 5 7 1 9 11 5 1 3 3 7 2 1 1 1 10 1 8 3 3 6 12 4 10 4 9 5 7 8 6 10 8 10 4 9 7 3 1 7 6 4 1 7 4 2 8 1 3 3 4 5 9 4 9 6 8 6 11 2 1 4 12 9 1 4 5 8 7 6 2 12 9 3 6 12 5 1 1 8 4 4 1 12 8 9 6 3 2 5 5 3 8 4 11 9 8 3 4 2 8 6 2 5 9 7 4 1 8 5 9 12 8 9 12 3 6 5 6 8 9 10 10 5 2 8 1 9 10 5 11 6 10 12 10 6 7 2 7 2 6 3.
我越來越system.formatexception: Input string was not in a correct format.
我看了看周圍的互聯網,我看到我需要改變我的代碼這個:
int[] alleNummers = Array.ConvertAll(Console.ReadLine().Split(new[] { ' ' },StringSplitOptions.RemoveEmptyEntries), int.Parse);
但現在我沒有得到所有的數字,我不知道爲什麼會發生這種情況。當我填寫上面的數字時,alleNummers.Count
給我115而不是318.
我想知道爲什麼這麼做了,我應該怎麼做才能讓這些數字在數組或collections.generic class
中。
您可能有兩個系列空格。最好的是,你可以先從字符串中刪除空格,然後再移動到一個數組中。 – Olivarsham
而不是通過輸入到控制檯來測試它,通過將測試數據分配給一個字符串並用它來代替'Console「來測試它。的ReadLine()'。如果您可以通過這種方式重現問題,請在此處發佈整個程序。 –
對我來說,第一個代碼編譯並運行得很好,並重新啓動318個項目。你確定你的輸入是這樣嗎?您可能在任何這些號碼上都有錯誤,例如像'3.5'。 – HimBromBeere