0

次の 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 を追加しますか?)

4

2 に答える 2

6

.NET 3.5 はまだサポートされていませんJoin<T>(String, IEnumerable<T>)が、サポートされているため、次のように変換するにはメソッドをJoin(String, Object[])呼び出すだけです。ToArrayIEnumerableArray

map = string.Join("", TrackMap.Split('|').Select(x => string.Format("...", x))
                                         .ToArray());
于 2013-04-18T15:29:50.017 に答える
2

string.Join.NET 4 では was newを取るオーバーロードをIEnumerable<String>使用するため、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()));
于 2013-04-18T15:30:47.093 に答える