我有以下C#源:( asp.net版本:3.5)
//map is from 'string' type
map = string.Join("", TrackMap.Split('|').Select(x => string.Format("<a href=\"{0}\" class=\"lightview\"><img src=\"{0}\" style=\"margin-right:30px;\" width=\"120\" height=\"80\"/>gh</a>", x)));
问题是我收到此错误消息:
参数'2':无法转换 'System.Collections.Generic.IEnumerable'到'string []'
错误信息:
'string.Join(string,string [])'的最佳重载方法匹配 有一些无效的论点
我的问题是如何解决它? (也许在web.config文件中添加一些代码?添加'using'-someting?)
答案 0 :(得分:6)
由于您使用的.NET 3.5尚未支持Join<T>(String, IEnumerable<T>)
,但支持Join(String, Object[])
,因此您只需调用ToArray
方法即可转换{{1} } IEnumerable
:
Array
答案 1 :(得分:2)
IEnumerable<String>
的重载的 string.Join
是.NET 4中的新功能,因此您无法在3.5中使用它。
所以这应该有效:
map = string.Join("", TrackMap.Split('|')
.Select(x => string.Format("<a href=\"{0}\" class=\"lightview\"><img src=\"{0}\" style=\"margin-right:30px;\" width=\"120\" height=\"80\"/>gh</a>", x)
.ToArray()));