给定可变数量的不同类型的列表,我想出了一个值得科学人的方法(method2
)将它们连接成一个单一的集合,类型object
。
我是不是有点厚,或者下面的代码或多或少是必要的?
object[] foo()
{
var a = new List<string>() { "hello" };//type 1
var b = new List<Uri>() { new Uri("http://test") };//type 2
//combined
IEnumerable<object> method2 = new object[]{a, b}.Select(x=>((IEnumerable)x).Cast<object>()).SelectMany(y=>y);
var returnable = method2.ToArray();
bool success = (returnable[0] is string);
return returnable.ToArray();
}
我知道不可能将 aList<string>
转换为 aList<object>
因为它们是根本不同的类型,但认为上述内容有点极端。