2013-04-18 57 views
0

我有以下C#源:(asp.net版本:3.5)錯誤消息:不能從 'System.Collections.Generic.IEnumerable' 轉換到 '字符串[]'

//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.join(字符串,字符串[])' 有一些無效參數

我qustion是如何解決呢? (也許在web.config文件中添加一些代碼?添加「using'-成才?)

+0

從.NET 4.0開始'的string.join()'的第二個參數接受的IEnumerable''。 –

回答

6

既然你在.NET 3.5還未支持Join<T>(String, IEnumerable<T>),但支持Join(String, Object[]),所以,你只需要調用ToArray爲了方法轉換到IEnumerableArray

map = string.Join("", TrackMap.Split('|').Select(x => string.Format("...", x)) 
             .ToArray()); 
+1

非常感謝! –

2

string.Join與需要一個IEnumerable<String>在.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())); 
+0

非常感謝!它工作得很好! –

相關問題