我正在完成有关文本分析的任务。这是控制台C#app。该程序使用10个字符串。我键入字符串,按ENTER键,在控制台上读取结果。 现在我必须从基本输入(copy-past到console)分析115000个字符串。 当我按下PAST时,它会粘贴30秒,这就是全部。在ENTER上没有任何行为。我如何在控制台中处理如此大的数据?
答案 0 :(得分:0)
我认为你应该做一个Windows窗体应用程序。如果您正在处理大数据,那么最好对其进行更多控制
答案 1 :(得分:0)
ctrl + v不适用于控制台应用程序。转到控制台窗口的左上角,然后按编辑 - >糊。
如果你想扩展控制台应用程序中的ctrl + v,请查看另一个堆栈question
答案 2 :(得分:0)
如果您的所有字符串都在一行上,那么您将遇到Windows对命令行中允许的字符数的限制。不幸的是,这个限制没有很好的记录。根据适用于XP和Server 2003的旧文章:Command prompt (Cmd. exe) command-line string limitation:
在运行Microsoft Windows XP或更高版本的计算机上,您可以在命令提示符处使用的字符串的最大长度为8191个字符。
但是,该文章可能已经过时。根据{{3}}
似乎是'论证'命令行命令的字符串在XP中限制为2048个字符,在Win7中限制为32768个字符
你应该做的不是将一个巨大的字符串粘贴到命令行进行分析,而是在命令行参数中给出包含字符串的文件的名称,并使用this answer来读取分析它们的人物。
更新如果您的任务指定您必须从控制台应用程序中的标准输入读取大量的字符串数据,则可以使用File.ReadAllLines(path)
从文件中实际读取它从命令行,即:
ConsoleApplication1.exe < hugefile.txt
我相信这应该绕过命令行长度的任何限制,但我不确定。