如何实现控制台输出自动复制到剪贴板(含C#重复输出场景)
实现控制台输出内容自动复制到剪贴板
你可以先把100次输出内容拼接成带换行的完整字符串,再调用系统剪贴板API完成复制,同时保留原有的控制台输出功能。修改后的代码如下:
using System; using System.Text; using System.Windows.Forms; class Program { // 剪贴板操作需要STA线程,添加此属性 [STAThread] static void Main() { string input = Console.ReadLine(); // 拼接100次输入内容,每行一个 StringBuilder outputContent = new StringBuilder(); for (int a = 1; a <= 100; a++) { outputContent.AppendLine(input); } // 输出到控制台 Console.Write(outputContent.ToString()); // 复制到剪贴板 Clipboard.SetText(outputContent.ToString()); Console.WriteLine("\n内容已复制到剪贴板"); } }
注意事项:
- 确保项目已引用
System.Windows.Forms程序集:右键项目 → 管理NuGet程序包,搜索并安装System.Windows.Forms(适用于.NET Core/.NET 6+),或者在.NET Framework中直接添加引用。 - 必须添加
[STAThread]属性,因为剪贴板操作要求线程处于单线程单元(STA)模式,控制台程序默认是多线程单元(MTA),不加会抛出异常。 - 使用
StringBuilder拼接字符串比直接做string += input + "\n"更高效,尤其适合循环次数较多的场景。
内容的提问来源于stack exchange,提问作者Ivan
相关产品推荐
相关产品推荐

