Console.ReadLine 和 Console.In.ReadLine 之间的区别
Difference between Console.ReadLine and Console.In.ReadLine
我遇到了这两个 API,用于在 C# 的简单控制台应用程序中读取用户的输入:
System.Console.ReadLine()
System.Console.In.ReadLine()
这是一个小代码片段,我试图利用这两个代码片段:
namespace Whosebug
{
class Program
{
static void Main(string[] args)
{
var input1 = System.Console.ReadLine();
var input2 = System.Console.In.ReadLine();
}
}
}
当我 运行 这个程序时,这两行代码做的是完全相同的事情,即我在控制台上输入的任何字符串都是 returned 直到我点击 return 钥匙。快速谷歌搜索只找到了一个 link,其中 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
我真的只是评论,但我没有权限。
这两个link都解释得很好。看例子看一种制作。
Gets the standard output stream.
Gets the standard input stream.
这里还有一个 link 到 Console.WriteLine Method
它描述得很好,它使用 标准输出流 ,所以它意味着 Console.Out.
Writes the specified data, followed by the current line terminator, to
the standard output stream.
我遇到了这两个 API,用于在 C# 的简单控制台应用程序中读取用户的输入:
System.Console.ReadLine()
System.Console.In.ReadLine()
这是一个小代码片段,我试图利用这两个代码片段:
namespace Whosebug
{
class Program
{
static void Main(string[] args)
{
var input1 = System.Console.ReadLine();
var input2 = System.Console.In.ReadLine();
}
}
}
当我 运行 这个程序时,这两行代码做的是完全相同的事情,即我在控制台上输入的任何字符串都是 returned 直到我点击 return 钥匙。快速谷歌搜索只找到了一个 link,其中 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
我真的只是评论,但我没有权限。
这两个link都解释得很好。看例子看一种制作。
Gets the standard output stream.
Gets the standard input stream.
这里还有一个 link 到 Console.WriteLine Method 它描述得很好,它使用 标准输出流 ,所以它意味着 Console.Out.
Writes the specified data, followed by the current line terminator, to the standard output stream.