fork(1) download
  1. using System;
  2. using System.Linq;
  3. using System.Collections.Generic;
  4.  
  5. public class Test
  6. {
  7. interface IId {int Id {get;}}
  8. class A : IId {
  9. public int Id {get;set;}
  10. public override string ToString() {
  11. return "A"+Id;
  12. }
  13. }
  14. class B : IId {
  15. public int Id {get;set;}
  16. public override string ToString() {
  17. return "B"+Id;
  18. }
  19. }
  20. public static void Main() {
  21. var a = new List<A> {new A {Id=5}, new A {Id=6}};
  22. var b = new List<B> {new B {Id=7}, new B {Id=8}};
  23. var all = new List<IEnumerable<IId>> {a, b};
  24. var item3 = all.SelectMany(list => list).FirstOrDefault(item => item.Id == 3);
  25. var item5 = all.SelectMany(list => list).FirstOrDefault(item => item.Id == 5);
  26. var item7 = all.SelectMany(list => list).FirstOrDefault(item => item.Id == 7);
  27. Console.WriteLine("3:'{0}' 5:'{1}' 7:'{2}'", item3, item5, item7);
  28. }
  29. }
Success #stdin #stdout 0.04s 24264KB
stdin
Standard input is empty
stdout
3:'' 5:'A5' 7:'B7'