C# 将流对象传递给函数,其中流可以是控制台或文件
我想写一个接受流参数的函数。理想情况下,我希望该参数是控制台(如果我希望输出进入屏幕),或者是文件(如果我希望保存输出) 大概是这样的:C# 将流对象传递给函数,其中流可以是控制台或文件,c#,stream,C#,Stream,我想写一个接受流参数的函数。理想情况下,我希望该参数是控制台(如果我希望输出进入屏幕),或者是文件(如果我希望保存输出) 大概是这样的: void myFunc(<some stream object> strm) { strm.Write("something"); } void myFunc(strm) { 书写(“某物”); } < P>如何声明和调用函数以获得我正在寻找的行为?< P>而不是 Stase,考虑使用 TeXTrrIts/COD>。这样,您可以使用Str
void myFunc(<some stream object> strm)
{
strm.Write("something");
}
void myFunc(strm)
{
书写(“某物”);
}
< P>如何声明和调用函数以获得我正在寻找的行为?< P>而不是<代码> Stase,考虑使用<代码> TeXTrrIts/COD>。这样,您可以使用
StreamWriter
写入文件,使用Console.Out
写入控制台:
static void DoStuff(TextWriter output)
{
output.WriteLine("doing stuff");
}
static void Main()
{
DoStuff(Console.Out);
using( var sw = new StreamWriter("file.txt") )
{
DoStuff(sw);
}
}
我完全同意马克的回答:几乎可以肯定的是,一个
textwitter
但是,如果您必须处理任意流,则可以使用将流获取到控制台。我强烈建议您不要使用此选项,除非您真的必须这样做。是的,因为此问题意味着基于文本的数据,这也是我的选择。