我在VS2008一个.NET 3.5的项目,我想使用的string.Join()
this overload(一,需要一个string
和IEnumerable<T>
)和编译器似乎不知道这个过载。的string.join()在.net 3.5
这是我尝试
var result = string.Join(" ", Foo());
其中Foo()
是
IEnumerable<string> Foo()
{
foreach(string s in new []{"1", "2", "3"})
{
yield return s;
}
}
我得到
> Error 2 Argument '2': cannot convert from
> 'System.Collections.Generic.IEnumerable<string>' to 'string[]'
当然,代码,如果我用Foo().ToArray()
它的工作原理,但我想知道为什么需要IEnumerable<T>
的超载不起作用。
MSDN经典视图中说,这是用VS2008兼容/ .NET 3.5
(我无法找到消息“此页是特定于......”非经典的观点所以我想我会提出了一个屏幕帽)
呃['的string.join(字符串,IEnumerable的)'](http://msdn.microsoft.com/en-us/library/dd783876%28v=VS.100%29.aspx)直到第4版(以及后来的第4.5版)才添加 - 编辑**要清楚,这里是[3.5中的字符串方法](http://msdn.microsoft.com/zh-cn/library/0h8wc12c %28v = VS.90%29.aspx) –
轻量级视图没有“此页面特定于...”。相反,您可以使用页面顶部的组合选择要查看的版本。 – mydogisbox
'Click to Rate and Give Feedback' –