【问题标题】:Difference between Console.ReadLine and Console.In.ReadLineConsole.ReadLine 和 Console.In.ReadLine 之间的区别
【发布时间】:2018-02-06 08:15:14
【问题描述】:

我在一个简单的 C# 控制台应用程序中遇到了这两个 API 来读取用户的输入:

  • System.Console.ReadLine()
  • System.Console.In.ReadLine()

这是一个小代码 sn-p,我正在尝试利用这两个代码:

namespace StackOverflow
{
    class Program
    {
        static void Main(string[] args)
        {
            var input1 = System.Console.ReadLine();
            var input2 = System.Console.In.ReadLine();
         }
    }
}

当我运行这个程序时,这两行代码在做完全相同的事情,即我在控制台上输入的任何字符串都会返回,直到我按下返回键。快速谷歌搜索只找到了一个differentiates between Console.Read and Console.ReadLine APIs 的链接。谁能帮助我理解这两个独立的 API 做同样的事情(即接收用户输入)的重要性?

【问题讨论】:

    标签: c# .net console console.readline


    【解决方案1】:
    System.Console.ReadLine()
    

    的别名
    System.Console.In.ReadLine()
    

    所以它们完全一样。

    这是 Microsoft 参考源中 ReadLine 的代码。

    [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

    【讨论】:

      【解决方案2】:

      我真的只想发表评论,但我没有权限。

      这两个链接都很好地解释了它。看例子看一种产生式。

      获取标准输出流

      获取标准输入流

      这里是Console.WriteLine Method 的另一个链接 它描述得很好,它使用标准输出流,所以它的意思是Console.Out

      写入指定的数据,后跟当前行终止符,以 标准输出流

      【讨论】:

      • 谢谢。那很有帮助。从现在开始,您拥有评论权。祝你在 stackoverflow 上的旅程好运。
      猜你喜欢
      • 2011-10-13
      • 1970-01-01
      • 1970-01-01
      • 2021-12-25
      • 2020-05-10
      • 2014-09-20
      • 2010-10-28
      • 2015-10-04
      相关资源
      最近更新 更多