2010-03-29 3 views
0
if (b.BooksList[ID].BookPrices.Min== b.BooksList[ID].BookPrices[i]) 

не может сравниться. BookPrices[] - это список пар.Минимальное значение для списка не совпадает с двойным значением

Ошибка: Error 11 Operator '==' cannot be applied to operands of type 'method group' and 'double'

+2

Как примечание стороны, вы никогда не должны хранить денежные суммы в два раза, и вы никогда не должны сравнивать дубли к равенству. Эти вещи чреваты небольшими проблемами. Вместо этого вы должны использовать 'decimal'. –

ответ

3

Вы забыли скобку на ваш призыв к Min().

Всякий раз, когда в сообщении об ошибке появляются слова «группа методов», пришло время искать отсутствующие круглые скобки при вызове функции.

+0

О, я не знал, что это метод. Почему C# предложил мне использовать propety 'Min'? – iTayb

+1

Я не знаю, кто предложил, чтобы Мин был собственностью, но это не так. Это метод расширения в 'IEnumerable '. –

+1

Visual Studio скорее всего не предложила Min как собственность. Однако, если вы просто примете предложение Intellisense ('Min') нажатием Enter или Tab, оно не будет вставлять скобки самостоятельно. Я предпочел бы предложить принять Intellisense, нажав открывающий кронштейн для функций (фиолетовый кирпич), который будет обучать вас автоматически делать * правильную вещь * в будущем, не думая :) – OregonGhost

1

Попробуйте

if (b.BooksList[ID].BookPrices.Min()== b.BooksList[ID].BookPrices[i]) 
Смежные вопросы