我正在尝试创建一个将IEnumerable转换为String(包括Arrays)的方法。
当我尝试将作为IEnumerable(非泛型)的数组传递给string.Join时,结果只返回1个值。 IEnumerable由各种类组成,这些类派生自一个共同的祖先,并将其7个项正确传递给该方法:
var list = new List<SportEvent>
var array = new SportEvent[]
{
new SportMatch(),
new SportMatch(),
new SportMatchBase(),
new SportMatch(),
new SportEvent(),
new SportEvent(),
new SportEvent(),
};
bool isImplementingIEnumerable = list is IEnumerable;
if (isImplementingIEnumerable)
{
valueRepresentation = string.Join(", ", (IEnumerable)array);
}
我正在使用此代码作为概念证明。我将各种集合传递给方法,我只是使用代码进行测试。因此,我不想绑定到单个Type。我将只使用StringBuilder手动追加值。
问题是:为什么string.Join(字符串模式,IEnumerable集合)只返回1个值?