Вот код, который дает сбой:
Код: Выделить всё
PriorityQueue pq = new PriorityQueue(Comparer.Create((x, y) => y - x));ошибка CS0266: невозможно неявно преобразовать тип 'long ' на 'int'. Существует явное преобразование (вам не хватает приведения?)
ошибка CS1662: невозможно преобразовать лямбда-выражение в предполагаемый тип делегата, поскольку некоторые возвращаемые типы в блоке не могут быть неявно преобразованы в возвращаемый тип делегата
Следует отметить, что все работает отлично, если я изменю все " long» ссылается на «int».
Можно ли где-нибудь разместить приведение, чтобы это работало, или это просто базовая функция, которую C# по какой-то причине не поддерживает?
Подробнее здесь: https://stackoverflow.com/questions/792 ... mbda-opera
Мобильная версия