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