8

非常に単純な拡張メソッドがコンパイルされていません:

public static string Join(this string text, params string[] stringsToJoin)
{
    return String.Join(", ", stringsToJoin.Where(s => !string.IsNullOrEmpty(s)));
}

「'System.Collections.Generic.IEnumerable' から 'string[]' に変換できません」というメッセージが表示されます

私は何が欠けていますか?

4

1 に答える 1

11

を受け入れるオーバーロードは、.NET 4.0 でのみ追加されました。以前のバージョンに対してコンパイルしているようです。String.JoinIEnumerable<String>

これを修正して .NET 3.5 と互換性を持たせる最も簡単な方法は、単純に次のように呼び出すこと.ToArray()です。

public static string Join(this string text, params string[] stringsToJoin)
{
    return String.Join(", ", stringsToJoin.Where(s => !string.IsNullOrEmpty(s))
                                          .ToArray());
}
于 2013-07-26T01:25:30.213 に答える