Преобразовать IOrderedEnumerable < KeyValuePair < string, int > > в словарь < string, int >

Предварительные и последующие приращения представляют собой два разных оператора и требуют отдельных перегрузок.

C ++ не допускает перегрузки только по типу возврата, поэтому наличие разных типов возвращаемых данных, как в вашем примере, не будет достаточно для устранения двусмысленности двух методов.

Фиктивный аргумент - это механизм, который разработчик C ++ выбрал для устранения неоднозначности.

37
задан Community 23 May 2017 в 11:46
поделиться

1 ответ

Вы указываете неправильные общие аргументы. Вы говорите, что TSource - это строка, хотя на самом деле это KeyValuePair.

Это правильный:

sortedDict.ToDictionary<KeyValuePair<string, int>, string, int>(pair => pair.Key, pair => pair.Value);

с краткой версией:

sortedDict.ToDictionary(pair => pair.Key, pair => pair.Value);
53
ответ дан 27 November 2019 в 04:44
поделиться
Другие вопросы по тегам:

Похожие вопросы: