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

接受 an的重载仅在 .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 回答