У меня есть список кортежей типа:
List<Tuple<int, int>> listOfStuffs= new List<Tuple<int, int>>();
Теперь, учитывая, что я заполнил свой список некоторыми полезными значениями, как я могу извлечь из этого списка (в другом кортеже) кортеж, содержащий самое высокое значение Item1?
Если найдено более одного совпадения, он должен возвращать только первое.
Это не работает, так как возвращает значение Int, а не фактический кортеж:
Tuple<int, int> selectedTuple = listOfStuffs.Max(t => t.Item1);
Как только мы нашли это совпадение, как его можно удалить из listOfStuffs?
Я сделал следующее, и кажется, что при наличии дубликатов удаляется только один кортеж из списка (при необходимости):
listOfStuffs.Remove(new Tuple<int, int>(selectedTuple.Item1, selectedTuple.Item2));
Может быть, есть способ объединить эти операции?