我遇到了这两个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做同样事情的重要性,即接收用户输入吗?
答案 0 :(得分:5)
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
答案 1 :(得分:1)
我真的只是评论,但我没有权限。
这两个链接都很好地解释了它。看一些例子来看一种生产方式。
获取标准输出流。
获取标准输入流。
这是Console.WriteLine Method的另一个链接 它描述得很好,它使用标准输出流,因此它意味着 Console.Out 。
将指定的数据写入,然后是当前行终止符 标准输出流。