【发布时间】:2019-09-08 11:12:53
【问题描述】:
我有一个函数 GetExchangeRates 需要返回 IEnumerable。我不知道该怎么做。我只能在控制台中写入结果并返回Null。 ExchangeRate 是一个具有 SourceCurrency/TargetCurrency=Value 的类,只有 getters(immutable) 和一个构造函数,返回 tostring() {SourceCurrency}/{TargetCurrency}={Value}";
主程序类创建新的 [] 货币集为IEnum。我主要构造它并调用:
var provider = new ExchangeRateProvider();
var rates = provider.GetExchangeRates(currencies)
然后只是循环费率并将其打印出来。如何正确地将源代码中的逻辑传递给 Main 函数?
public IEnumerable<ExchangeRate> GetExchangeRates(IEnumerable<Currency> currencies)
{
var xmldoc = new XmlDocument();
xmldoc.Load(@"http://www.ecb.europa.eu/stats/eurofxref/eurofxref-daily.xml");
XmlNodeList nodes = xmldoc.SelectNodes("//*[@currency]");
if (nodes != null)
{
foreach (XmlNode node in nodes)
{
var rate = new ExchangeRate()
{
SourceCurrency = new Currency("EUR"),
TargetCurrency = new Currency(node.Attributes["currency"].Value),
Value = (Decimal.Parse(node.Attributes["rate"].Value, NumberStyles.Any,
new CultureInfo("en-Us")))
};
Console.WriteLine(rate);
}
}
return null;
}
}
【问题讨论】:
标签: c# .net ienumerable