eye*_*snz 12 c# linq ide visual-studio-2008
我有一段代码使Visual Studio 2008 IDE运行速度非常慢,占用大量内存,最终导致崩溃.我怀疑VS正在达到操作系统内存限制.
以下代码不是我真正的应用程序代码,但它模拟了问题.基本上我试图使用LINQ在树中找到最小值.
class LinqTest
{
public class test
{
public int val;
public List<test> Tests;
}
private void CrashMe()
{
test t = new test();
//Uncomment this to cause the problem
//var x = t.Tests.Min(c => c.Tests.Min(d => d.Tests.Min(e => e.Tests.Min(f=>f.Tests.Min(g=>g.Tests.Min(h => h.val))))));
}
}
Run Code Online (Sandbox Code Playgroud)
有没有人见过类似的东西?
不久前,我在 MS Connect 上提交了一份错误报告。今天早上我收到了回复:
\n\n\n\n\n感谢 Visual Studio 2008 的错误报告!
\n\n正如您在 Eric Lippert 博客的链接文章中指出的那样,我们在合理的时间内对此类嵌套 lambda 表达式进行类型推断的能力受到限制。也就是说,我们当然可以尝试对此类推理进行时间限制,或者对 lambda 嵌套设置硬性限制,以防止出现此类问题。不幸的是,我们开始锁定 Visual Studio 2010 中可以修复的内容,并且我们将无法在此版本中强制实施此类限制。
\n\n在规划未来的版本时,我们一定会牢记这个问题!
\n\n亚历克斯·特纳
\n\n项目经理
\n\n可视化 C# 编译器
\n
和
\n\n\n\n您在 Microsoft Connect 上提交的以下反馈项目已更新:产品/技术 - Visual Studio 和 .NET Framework - 反馈 ID \xe2\x80\x93 476133 反馈标题 \xe2\x80\x93 嵌套 Linq Min() 使 Visual Studio 2008 崩溃IDE 以下字段或值已更改: 字段状态从 [Active] 更改为 [Resolved]
\n\n字段分辨率从 [无] 更改为 [无法修复]
\n