fork(1) 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. };
  22.  
  23. var flaggedList = list.Where(data=>data.Flag);
  24. var maxValue = flaggedList.Max(data=>data.Value);
  25. var mavValueOwner = flaggedList.First(data => data.Value == maxValue);
  26. var mavValueOwnerKey = mavValueOwner.Key;
  27.  
  28. Console.WriteLine(mavValueOwnerKey);
  29. }
  30. }
Success #stdin #stdout 0.03s 15760KB
stdin
Standard input is empty
stdout
c