我想要一个代码,它接受在控制台上写的文本并将其放在字符串变量plz上。 像这样:
string s = Console.WriteLine(Invoke(o, null));
我希望它与控制台一起使用,因为如果我在没有它的情况下调用它,我就无法从中获取文本。
我希望你理解它。
答案 0 :(得分:1)
你不能直接这样做。我认为你可以通过获取控制台窗口对象或类似的方式来做某事,但当你只想要Console.WriteLine
的输出时,真的不值得花时间去做。
Console.WriteLine
有很多重载,但最后所有重载都会使用ToString
将参数转换为字符串。因此,要将Console.WriteLine
的输出放在字符串变量中,只需在参数上调用ToString
。
string s = Invoke(o, null).ToString();
如果要同时打印,和存储输出怎么办?你可以这样做:
string s = Invoke(o, null).ToString();
Console.WriteLine(s);
答案 1 :(得分:1)
我得到了我想要的东西
using (StringWriter stringWriter = new StringWriter())
{
Console.SetOut(stringWriter);
Console.Write(mi.Invoke(o, null));
string allConsoleOutput = stringWriter.ToString();
MessageBox.Show(allConsoleOutput, "Output");
}
感谢每一个人!
答案 2 :(得分:0)
请参阅anyCable的文档,该文档将指定的数据(后跟当前行终止符)写入标准输出流。不返回任何赋值给变量的东西,它的返回类型是void
答案 3 :(得分:0)
如果您想要打印文字:
Console.WriteLine("Enter a name");
如果您想输入任何文字:
string name = Console.ReadLine();
尝试这种方式。