[英]c# convert console.writeline to a string
我想要一个代码,它接受在控制台上写的文本并将其放在字符串变量plz上。 像这样的东西:
string s = Console.WriteLine(Invoke(o, null));
我想用控制台,因为如果我在没有它的情况下调用它,我就无法从中获取文本。
我希望你理解它。
我得到了我想要的东西
using (StringWriter stringWriter = new StringWriter())
{
Console.SetOut(stringWriter);
Console.Write(mi.Invoke(o, null));
string allConsoleOutput = stringWriter.ToString();
MessageBox.Show(allConsoleOutput, "Output");
}
谢谢每一个人!
你不能直接这样做。 我认为你可以通过获取控制台窗口对象或类似的方式来实现它,但是当你只想要Console.WriteLine
的输出时,真的不值得花时间去做。
Console.WriteLine
有很多重载,但最后所有重载都会使用ToString
将参数转换为字符串。 因此,要将Console.WriteLine
的输出放在字符串变量中,只需在参数上调用ToString
。
string s = Invoke(o, null).ToString();
如果要同时打印和存储输出怎么办? 你可以这样做:
string s = Invoke(o, null).ToString();
Console.WriteLine(s);
请参阅Console.WriteLine()
的文档,该文档将指定的数据(后跟当前行终止符Console.WriteLine()
写入标准输出流。 不返回任何赋值给变量,它的返回类型为void
如果您想要打印文本:
Console.WriteLine("Enter a name");
如果您想输入任何文字:
string name = Console.ReadLine();
试试这个方式。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.