1. Если речь идёт ТОЛЬКО о ключе, зачем вам знать какой у вас словарь? То ли вы дали лишнюю информацию, то ли спросили не то что хотели на самом деле.
2. Вопрос сводится к тому, как получить "первый" элемент из KeyValuePair. Это можно сделать с помощью св-ва Key. А вообще почитайте про кортежи (которые встроенные, в круглых скобках), и сделайте по-человечески: var a = new Dictionary<(string, string), string>;
Доступ к первому элементу в этом случае - св-во Item1.
Добрый вечер, у меня есть словарь, в котором хранятся всевозможные биграммы(a:b,b:c,a:b,a:c), в результативном словаре должны хранится ключ-значения, если ключ-значение встречается один раз, либо значение общего ключа повторяется больше другого значения (например в исходном словаре a:b,b:c,a:b,a:c, в результативном словаре будет a:b, b:c - в данном случае a:c не запишется, потому что ключ с данным значением имеет меньше значение повторений, но если бы исходный словарь выглядел так a:b,b:c,a:c конечный результат был бы следующим b:c,a:c - итеративно ключ-значение a:c больше чем a:b. Поэтому я завел промежуточный словарь wCount(например), который хранит значение исходного словаря как ключ, а как значение количество повторений. Перед тем как добавить в результативный словарь, идет проверка есть, ли такой ключ в словаре wCount, если нет, добавляем его в словари wCount(cо значением 1 - число повторений) и в результативный словарь, если ключ в результативном словаре есть, но имеет другое значение, необходимо проверить число повторений данного ключ-значения, и вес ключ-значения( это про итерации ). Теперь собственно зачем мне первый элемент ключа в словаре wCount, чтобы проверить больше ли оно 1.