繁体   English   中英

c#将console.writeline转换为字符串

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM