当我看到这里Darins建议..LINQ扩展SelectMany in 3.5 vs 4.0?
IEnumerable<Process> processes =
new[] { "process1", "process2" }
.SelectMany(Process.GetProcessesByName);
(process.getprocessesbyname())
..我有点好奇,我与.NET 3.5试图在VS2008 - 它没有编制,除非我改变到..
IEnumerable<Process> res =
new string[] { "notepad", "firefox", "outlook" }
.SelectMany(s => Process.GetProcessesByName(s));
看了一些Darins答案之前,我怀疑这是我认为是问题,当我后来得到了我的手在VS2010 with.NET 4.0 - 预期 - 原建议的工作精美。
我的问题是:从3.5到4.0发生了什么使得这个(新语法)成为可能?扩展方法是否已被扩展(hmm)或lambda语法的新规则还是?
当你试图编译它在.NET 3.5中,你得到了什么编译器错误? – Jacob 2010-06-17 17:25:48
@Jacob - 好点:) 方法'System.Linq.Enumerable.SelectMany的类型参数(System.Collections.Generic.IEnumerable ,System.Func >)'不能从使用中推断出来。尝试明确指定类型参数。 –
Moberg
2010-06-17 17:30:37
酷!发生这种事时我总是很烦恼。很高兴知道它已被修复:) +1 – leppie 2010-06-17 17:48:31