using System;
using System.Linq;
using System.Collections.Generic;
public class Test
{
interface IId {int Id {get;}}
class A : IId {
public int Id {get;set;}
public override string ToString() {
return "A"+Id;
}
}
class B : IId {
public int Id {get;set;}
public override string ToString() {
return "B"+Id;
}
}
public static void Main() {
var a = new List<A> {new A {Id=5}, new A {Id=6}};
var b = new List<B> {new B {Id=7}, new B {Id=8}};
var all = new List<IEnumerable<IId>> {a, b};
var item3 = all.SelectMany(list => list).FirstOrDefault(item => item.Id == 3);
var item5 = all.SelectMany(list => list).FirstOrDefault(item => item.Id == 5);
var item7 = all.SelectMany(list => list).FirstOrDefault(item => item.Id == 7);
Console.WriteLine("3:'{0}' 5:'{1}' 7:'{2}'", item3, item5, item7);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLkNvbGxlY3Rpb25zLkdlbmVyaWM7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CglpbnRlcmZhY2UgSUlkIHtpbnQgSWQge2dldDt9fQoJY2xhc3MgQSA6IElJZCB7CgkJcHVibGljIGludCBJZCB7Z2V0O3NldDt9CgkJcHVibGljIG92ZXJyaWRlIHN0cmluZyBUb1N0cmluZygpIHsKCQkJcmV0dXJuICJBIitJZDsKCQl9Cgl9CgljbGFzcyBCIDogSUlkIHsKCQlwdWJsaWMgaW50IElkIHtnZXQ7c2V0O30KCQlwdWJsaWMgb3ZlcnJpZGUgc3RyaW5nIFRvU3RyaW5nKCkgewoJCQlyZXR1cm4gIkIiK0lkOwoJCX0KCX0KCXB1YmxpYyBzdGF0aWMgdm9pZCBNYWluKCkgewoJCXZhciBhID0gbmV3IExpc3Q8QT4ge25ldyBBIHtJZD01fSwgbmV3IEEge0lkPTZ9fTsKCQl2YXIgYiA9IG5ldyBMaXN0PEI+IHtuZXcgQiB7SWQ9N30sIG5ldyBCIHtJZD04fX07CgkJdmFyIGFsbCA9IG5ldyBMaXN0PElFbnVtZXJhYmxlPElJZD4+IHthLCBifTsKCQl2YXIgaXRlbTMgPSBhbGwuU2VsZWN0TWFueShsaXN0ID0+IGxpc3QpLkZpcnN0T3JEZWZhdWx0KGl0ZW0gPT4gaXRlbS5JZCA9PSAzKTsKCQl2YXIgaXRlbTUgPSBhbGwuU2VsZWN0TWFueShsaXN0ID0+IGxpc3QpLkZpcnN0T3JEZWZhdWx0KGl0ZW0gPT4gaXRlbS5JZCA9PSA1KTsKCQl2YXIgaXRlbTcgPSBhbGwuU2VsZWN0TWFueShsaXN0ID0+IGxpc3QpLkZpcnN0T3JEZWZhdWx0KGl0ZW0gPT4gaXRlbS5JZCA9PSA3KTsKCQlDb25zb2xlLldyaXRlTGluZSgiMzonezB9JyA1Oid7MX0nIDc6J3syfSciLCBpdGVtMywgaXRlbTUsIGl0ZW03KTsKCX0KfQ==