我正在使用C#文件在Unity3D中编写BufferedReader。当我使用这行代码时,它表示存在以下错误:"解析器错误:标识符预期,"在"是关键字" ,但是当这个代码在Java中运行时,没有错误。为什么System.in不存在于C#中,我该如何解决?
我的代码:
BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));
答案 0 :(得分:2)
System.in
是Java标准库的一部分,它不是.NET标准库的一部分,因此不会编译。
对于C#,您必须使用Console.In
。这是TextReader
。 C#中没有真正等效的BufferedReader
(支持所有调用)。但是TextReader
有Read
和ReadLine
方法,它们的行为大致相同。因此,您应该将其替换为:
TextReader tr = Console.In;
//use TextReader as inFromUser
正如@BlasSoriano所说,question旨在找到与BufferedReader
相当的行为。
此外,正如@KenWhite所说,简单地复制粘贴源代码而不理解潜在的想法是一个非常糟糕的主意。您认为此代码是有效的C#代码的事实并不是很有希望。
答案 1 :(得分:0)
如果您使用的是IKVM,则为:
BufferedReader inFromUser = new BufferedReader(new InputStreamReader(java.lang.System.@in));