爲什麼Console.ReadLine()不能在C#中存儲int/double?與C++中的「cin >>」相反,它可以根據變量存儲任何東西。爲什麼在C#Console.ReadLine()只存儲字符串?
2
A
回答
2
控制檯本身就是文本輸入。 Console.ReadLine()
(和其他方法)不會爲你解析,而是讓你解析自己。
這有一個優點,但是,因爲它可以更容易地清潔處理錯誤的情況下(如果你想在雙讀取,並在用戶鍵入「富」,例如)。
7
不同的語言,不同的庫,不同的API,不同的設計決策等
cin.operator>>
傳遞要使用的輸出參數的引用,它的重載該參數的類型。 Console.ReadLine
返回一個值並且不重載。
你可以編寫你自己的擴展方法Console
,比如GetValue
,它傳遞一個out參數,並且在你希望的類型上被重載。
0
因爲讀取字符串更安全。它可以防止C++中的錯誤數據出現錯誤,從而導致流的狀態變得錯誤。
相關問題
- 1. 爲什麼字符串存儲在Java中的字符串池?
- 2. 爲什麼我可以在字符的內存地址中存儲字符串?
- 3. C++:將地址存儲爲字符串
- 4. C++存儲字符串輸入爲cstring
- 5. C++ - 將BLOB存儲爲字符串
- 6. 爲什麼只有字符串視圖?
- 7. 爲什麼F()宏(將字符串存儲在.text中)編譯?
- 8. 爲什麼「\」在PHP中將字符串存儲時出錯?
- 9. 爲什麼Metakit在提交後不存儲字符串值?
- 10. 爲什麼不在相應的數組中存儲字符串?
- 11. C++:什麼佔用更多的內存,將單個字符存儲爲字符或字符串?
- 12. 存儲XML爲字符串
- 13. LINQ - 存儲爲字符串
- 14. 字符串存儲在目標C
- 15. 存儲在C字符串AVL樹
- 16. 在字符串內存儲字符串?
- 17. 在字符串中存儲字符串
- 18. mySQL只存儲部分字符串
- 19. 爲什麼字符串不能與存儲的varchar相等?
- 20. 爲什麼字符串不等於存儲的內容?
- 21. 爲什麼C++字符串需要\ 0?
- 22. 爲什麼c字符串被釋放?
- 23. 什麼是C#字符串
- 24. 存儲字符串,因爲它在PHP
- 25. 爲什麼只是putchar字符串的第一個字符?
- 26. Ehcache爲什麼加倍存儲在內存中的字符串的大小?
- 27. C++ Stringstream:接受一個字符串,但不接受變量中存儲的字符串。爲什麼?
- 28. c#如何檢查字符串是使用console.readline時的數字
- 29. 在kdb中存儲一個字符串作爲字符串
- 30. 存儲在字符串
'Console.Readline()'只讀取一個字符串值。控制檯不知道你打算輸入什麼類型的值.C++也不允許這樣做,但是它確實允許你在類型不匹配的時候在腳下拍攝自己。 – paqogomez
在C++中,當您嘗試將輸入「Hello World」讀爲int時會發生什麼? – David
爲什麼問題很難,只有BCL團隊可以肯定地回答。但是控制檯輸入的使用比使用C/C++時少得多。只是不值得的努力。閱讀一行並處理它。 –