gpt4 book ai didi

c# - 将标准输出重定向到 List 或 Stream

转载 作者:行者123 更新时间:2023-11-30 21:41:33 25 4
gpt4 key购买 nike

我正在为以下方法编写测试代码:

public static void PrintAll<T>(this IEnumerable<T> collection)
{
foreach (T item in collection)
{
Console.Write(item.ToString());
}
}

所以基本上我认为需要做的是我可以用随机数据填充一个数组,使用这种方法输出它,将它存储在流/集合中,然后使用标准的 foreach 循环输出它并比较两者。

我知道 Console.Write() 实际上并没有写入控制台,而是写入我的应用程序的标准输出。

我知道如何为其他 Process 对象重定向它,但不知道如何重定向我自己的应用程序的标准输出,有什么想法吗?

最佳答案

您可以使用 Console.SetOut将控制台的输出临时设置为字符串。

例如:

StringBuilder sb = new StringBuilder();
StringWriter sw = new StringWriter(sb);
// Save the standard output.
TextWriter tmp = Console.Out;
Console.SetOut(sw);
// Code which calls Console.Write
Console.SetOut(tmp);
string actual = sb.ToString();

记得处理 StringWriter 对象。

关于c# - 将标准输出重定向到 List<string> 或 Stream,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43245870/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com