Я хочу хранить диаметр монет евро внутри класса и использовать метод в этом классе, чтобы получить ценность (ценность) монеты по ее диаметру.
Во-первых, я не уверен, что использование класса и построение его словаря на инициализации - хорошая идея или нет. Если вы знаете лучший способ, пожалуйста, дайте мне сейчас.
Во-вторых, я написал код для этого класса так:
class EuroCoinSpecs
{
public Dictionary<double, decimal> CoinsDiameters;
public EuroCoinSpecs()
{
CoinsDiameters = new Dictionary<double, decimal>
{
{25.75, 2.00m},
{23.25, 1.00m},
{24.25, 0.50m},
{22.25, 0.20m},
{19.75, 0.10m},
{21.25, 0.05m},
{18.75, 0.02m},
{16.25, 0.01m}
};
}
public decimal GetValueForDiameter(double diameter)
{
return CoinsDiameters.FirstOrDefault(x => x.Key == diameter);
}
}
Проблема в том, что код в GetValueForDiameter
не компилируется из-за этой ошибки:
Cannot implicitly convert type 'System.Collections.Generic.KeyValuePair<double,decimal>' to 'decimal'
Я пробовал разные способы, но он не хочет работать. В чем может быть проблема?