fork download
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4.  
  5. public class Test
  6. {
  7. class Data
  8. {
  9. public char Key;
  10. public int Value;
  11. public bool Flag;
  12. }
  13.  
  14. public static void Main()
  15. {
  16. var list = new List<Data>(){
  17. new Data(){Key='a',Value=2,Flag=true},
  18. new Data(){Key='b',Value=3,Flag=true},
  19. new Data(){Key='c',Value=9,Flag=true},
  20. new Data(){Key='d',Value=11,Flag=false},
  21. new Data(){Key='e',Value=9,Flag=true}
  22. };
  23.  
  24. var flaggedList = list.Where(data=>data.Flag);
  25. var maxValue = flaggedList.Max(data=>data.Value);
  26. var mavValueOwnerList = flaggedList.Where(data => data.Value == maxValue);
  27. var mavValueOwnerKeyList = mavValueOwnerList.Select(data=>data.Key);
  28.  
  29. Console.WriteLine(string.Join("\n", mavValueOwnerKeyList));
  30. }
  31. }
Success #stdin #stdout 0.04s 15956KB
stdin
Standard input is empty
stdout
c
e