System.in for C#?

时间:2015-05-31 00:57:43

标签: c# unity3d bufferedreader inputstreamreader

我正在使用C#文件在Unity3D中编写BufferedReader。当我使用这行代码时,它表示存在以下错误:"解析器错误:标识符预期,"在"是关键字" ,但是当这个代码在Java中运行时,没有错误。为什么System.in不存在于C#中,我该如何解决?

我的代码:

BufferedReader inFromUser = new BufferedReader(new InputStreamReader(System.in));

2 个答案:

答案 0 :(得分:2)

System.in是Java标准库的一部分,它不是.NET标准库的一部分,因此不会编译。

对于C#,您必须使用Console.In。这是TextReader。 C#中没有真正等效的BufferedReader(支持所有调用)。但是TextReaderReadReadLine方法,它们的行为大致相同。因此,您应该将其替换为:

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));