Console.ReadLine和Console.in.Readline之间的区别



我遇到了这两个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

将指定的数据写下,然后是当前线终结者, 标准输出流

最新更新