我遇到了这两个API,以在C#中的简单控制台应用程序中读取用户的输入:
-
System.Console.ReadLine()
-
System.Console.In.ReadLine()
这是我试图利用这两个的小型代码段:
namespace StackOverflow
{
class Program
{
static void Main(string[] args)
{
var input1 = System.Console.ReadLine();
var input2 = System.Console.In.ReadLine();
}
}
}
运行此程序时,两行代码正在做完全相同的事情,即返回控制台上的任何字符串,直到我击中返回键的时间为止。一个快速的谷歌搜索只为我提供了一个链接,该链接将Console.Read和Console.Readline API区分开。谁能帮助我理解这两个单独的API的重要性,即接受用户输入?
System.Console.ReadLine()
是
的别名System.Console.In.ReadLine()
所以它们完全相同。
这是Microsoft参考源中读取的代码。
[HostProtection(UI=true)]
[MethodImplAttribute(MethodImplOptions.NoInlining)]
public static String ReadLine()
{
return In.ReadLine();
}
您可以看到Console.Readline()只需调用Console.in.Readline()。
http://referencesource.microsoft.com/#mscorlib/system/console.cs,bc8fd98a32c60ffd
我真的只会发表评论,但我没有权限。
这两个链接都很好地解释了它。查看示例以查看一种生产。
- console.out属性
获取标准输出流。
- console.in属性
获取标准输入流。
在这里,另一个指向Console.Writeline方法的链接它很好地描述了它使用标准输出流,因此表示 console.out 。
。将指定的数据写下,然后是当前线终结者, 标准输出流。