class FxRate {
string Base { get; set; }
string Target { get; set; }
double Rate { get; set; }
}
private IList<FxRate> rates = new List<FxRate> {
new FxRate {Base = "EUR", Target = "USD", Rate = 1.3668},
new FxRate {Base = "GBP", Target = "USD", Rate = 1.5039},
new FxRate {Base = "USD", Target = "CHF", Rate = 1.0694},
new FxRate {Base = "CHF", Target = "SEK", Rate = 8.12}
// ...
};
Учитывая большой, но неполный список курсов валют, где все валюты появляются хотя бы один раз (в качестве целевой или базовой валюты): какой алгоритм я бы использовал, чтобы иметь возможность вывести курсы для бирж, которые не перечислены напрямую?
Я ищу алгоритм общего назначения вида:
public double Rate(string baseCode, string targetCode, double currency)
{
return ...
}
В приведенном выше примере производная ставка будет GBP-> CHF или EUR-> SEK (что потребует использования конвертации для EUR-> USD, USD-> CHF, CHF-> SEK)
Несмотря на то, что я знаю, как выполнять преобразования вручную, я ищу аккуратный способ (возможно, с использованием LINQ) для выполнения этих производных преобразований, возможно, с использованием скачков нескольких валют, каков наилучший способ добиться этого?