using System;
using System.Collections.Generic;
using System.Linq;
public class Test
{
class Data
{
public char Key;
public int Value;
public bool Flag;
}
public static void Main()
{
var list = new List<Data>(){
new Data(){Key='a',Value=2,Flag=true},
new Data(){Key='b',Value=3,Flag=true},
new Data(){Key='c',Value=9,Flag=true},
new Data(){Key='d',Value=11,Flag=false}
};
var flaggedList = list.Where(data=>data.Flag);
var maxValue = flaggedList.Max(data=>data.Value);
var mavValueOwner = flaggedList.First(data => data.Value == maxValue);
var mavValueOwnerKey = mavValueOwner.Key;
Console.WriteLine(mavValueOwnerKey);
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLkxpbnE7CgpwdWJsaWMgY2xhc3MgVGVzdAp7CiAgICBjbGFzcyBEYXRhCiAgICB7CiAgICAgICAgcHVibGljIGNoYXIgS2V5OwogICAgICAgIHB1YmxpYyBpbnQgVmFsdWU7CiAgICAgICAgcHVibGljIGJvb2wgRmxhZzsKICAgIH0KCglwdWJsaWMgc3RhdGljIHZvaWQgTWFpbigpCgl7CiAgICAgICAgdmFyIGxpc3QgPSBuZXcgTGlzdDxEYXRhPigpewogICAgICAgICAgICBuZXcgRGF0YSgpe0tleT0nYScsVmFsdWU9MixGbGFnPXRydWV9LAogICAgICAgICAgICBuZXcgRGF0YSgpe0tleT0nYicsVmFsdWU9MyxGbGFnPXRydWV9LAogICAgICAgICAgICBuZXcgRGF0YSgpe0tleT0nYycsVmFsdWU9OSxGbGFnPXRydWV9LAogICAgICAgICAgICBuZXcgRGF0YSgpe0tleT0nZCcsVmFsdWU9MTEsRmxhZz1mYWxzZX0KICAgICAgICB9OwoKICAgICAgICB2YXIgZmxhZ2dlZExpc3QgPSBsaXN0LldoZXJlKGRhdGE9PmRhdGEuRmxhZyk7CiAgICAgICAgdmFyIG1heFZhbHVlID0gZmxhZ2dlZExpc3QuTWF4KGRhdGE9PmRhdGEuVmFsdWUpOwogICAgICAgIHZhciBtYXZWYWx1ZU93bmVyID0gZmxhZ2dlZExpc3QuRmlyc3QoZGF0YSA9PiBkYXRhLlZhbHVlID09IG1heFZhbHVlKTsKICAgICAgICB2YXIgbWF2VmFsdWVPd25lcktleSA9IG1hdlZhbHVlT3duZXIuS2V5OwoKICAgICAgICBDb25zb2xlLldyaXRlTGluZShtYXZWYWx1ZU93bmVyS2V5KTsKCX0KfQ==