Ну, это будет медленно (то есть O (n)), но вы можете сделать:
var keys = measurementTypes.Where(pair => pair.Value == "GEN")
.Select(pair => pair.Key);
Это даст вам последовательность пар, которые имеют заданныйзначение.Там может быть 0, 1 или много совпадений.Оттуда вы можете выбрать первый соответствующий ключ и т. Д. - все, что вам нужно.Использование First
или Single
будет уместным, если вы думаете, что будет хотя бы один или точно один;FirstOrDefault
вернет 0, если не было совпадений, что может не подходить для вас, если 0 также может быть действительным ключом.