我正在编写一个c#命令行应用程序(WIN7,64bit),它应该在命令行中写入许多行。
我将问题归结为以下代码:
int lineno;
for (lineno = 0; lineno < 100000; lineno++) {
Console.WriteLine(">" + lineno);
}
我无法理解为什么应用程序在39404行后死亡:
...
>39401
>39402
>39403
>39404
"Console Application has stopped working."
如果您有任何想法,请告诉我。
谢谢你&amp;最好的问候,德克。
答案 0 :(得分:2)
我怀疑你的问题。因为我的程序工作正常,并在MS Visual Studio 2008下显示到99999.
编辑:在Dirk对Davido的回答发表评论后,Console.WriteLine(">>>" + lineno);
输出打印了36251次。但这是不正确的。使用“&gt;&gt;&gt;”程序也准确无误。
这是相同的图像。
答案 1 :(得分:1)
我无法重现这个问题 - 似乎问题是环境问题。
39404
总是失败吗?一段时间后它会失败吗?你是如何推出它的?您是否尝试从命令行启动它?你确定这是你拥有的所有代码吗?您是否尝试使用不同的配置构建它?
回答这些问题,您可能会发现导致问题的原因。
编辑:我看到的最奇怪的事情就是这条消息:
“控制台应用程序已停止工作。”
显然不是系统或框架消息。
请发布完整的代码,因为看起来你做错了。
答案 2 :(得分:0)
在我的系统上运行正常。 (Windows 7,VS 2010)。
您使用的操作系统和框架版本是什么?
答案 3 :(得分:0)
尝试更改应用程序目标以编译x86。有时这解决了我在不同项目中遇到的奇怪问题。
Dirk,尝试制作一个新项目并将您的代码放在一个空白的控制台项目中。看看它是否会改变它的输出方式。我怀疑这样做会改变你能写的行数。如果是这样,那么您尚未发布的其他一些代码存在问题。只是你可能想要考虑的事情。