我想将一组自定义对象传递给String.Join
具有以下签名的函数:
public static string Join(string separator, params Object[] values)
public static string Join(string separator, IEnumerable<T> values)
如果我这样调用函数:
var arr = new MyClass[]{ new MyClass(), new MyClass() };
string text = string.Join("\n", arr);
我得到一个编译器错误:
以下方法或属性之间的调用不明确:'string.Join(string, params object[])' 和 'string.Join(string, System.Collections.Generic.IEnumerable)'
我可以通过使用以下IEnumerable<T>
函数来解决歧义:
var arr = new MyClass[]{ new MyClass(), new MyClass() };
string text = string.Join<MyClass>("\n", arr);
但是我可以调用这个params object[]
函数吗?
我正在使用 C# 4.0,如果这有什么不同的话。