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();
}
List<string>
基本的に異なる型であるため、 aを aにキャストできないことは承知していますList<object>
が、上記は少し極端だと思いました。