c# - Console.ReadLine 和 Console.In.ReadLine 之间的区别

标签 c# .net console console.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();
         }
    }
}

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

最佳答案

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

关于c# - Console.ReadLine 和 Console.In.ReadLine 之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45929511/

相关文章:

c# - XMLHttpRequest() 未被识别为 IsAjaxRequest?

c# - 如果 "unused"命名空间实际上在预处理器指令中使用,如何阻止 VS 删除它们?

c# - 为什么后台垃圾收集有时会暂停我的应用程序,我该如何防止它发生?

javascript - 控制台中的 Array[0] 显示信息

java - 运行 jar 后继续在控制台执行

c# - 如何使用 silverlight 和 ASP.NET MVC 测量上传和下载互联网速度

c# - 使用 EF Code First,如何自动填充 HashedPassword 列?

c# - 非 System.Web 替代 HttpPostedFileBase?

带有参数的 C# 类类型

javascript - console.log 多维数组