首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Console.Out.WriteLine为什么会存在?

Console.Out.WriteLine为什么会存在?
EN

Stack Overflow用户
提问于 2009-07-19 02:56:00
回答 2查看 13.3K关注 0票数 36

实际上,问题应该是,为什么Console.WriteLine仅仅是作为Console.Out.WriteLine的包装器而存在

我使用智能感知找到了这个小方法,然后打开.NET reflector并‘反编译’了Console.WriteLine方法的代码,发现了这个:

代码语言:javascript
复制
public static void WriteLine(string value)
{
    Out.WriteLine(value);
}

那么为什么WriteLine是以这种方式实现的呢?这完全是一条捷径,还是另有原因?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2009-07-19 02:57:36

Console.WriteLine是一种静态方法。Console.Out是一个静态对象,它可以作为参数传递给任何接受TextWriter的方法,并且该方法可以调用非静态成员方法WriteLine

这将非常有用的一个示例是某种可定制的日志记录例程,在这些例程中,您可能希望将输出发送到stdout (Console.Out)、stderr (Console.Error)或nowhere (System.IO.TextWriter.Null),或者基于某个运行时条件的任何其他内容。

票数 62
EN

Stack Overflow用户

发布于 2016-11-23 01:43:02

Brad Abrams (微软CLR和.NET框架的创始成员)如下所述。

Console.WriteLine()只是Console.Out.WriteLine的快捷方式。控制台被WriteLine属性重载,以使其更易于编写。

来源: Anders Hejlsberg的"The C# Programming Language“一书。

票数 20
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1149131

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档