我创建了 IEnumerable 的单个对象 想要使其成为字典类型对象来处理键和值。
想要从文化中提取货币符号和名称。
IEnumerable<string> currencySymbols = CultureInfo.GetCultures(CultureTypes.SpecificCultures) //Only specific cultures contain region information
.Select(x => (new RegionInfo(x.LCID)).ISOCurrencySymbol )
.Distinct()
.OrderBy(x => x);
foreach(string s in currencySymbols)
{
CurrencyTable tbl = new CurrencyTable();
tbl.Iso = s;
tbl.Name = s;
}
我想要像下面这样的
IEnumerable<string,string>
怎么可能?
CurrencyTable 是一个包含 ID | 的类。异|姓名
已提交
最佳答案
这个返回所有货币符号及其第一个不同的英文货币名称
var currencySymbols =
CultureInfo.GetCultures(CultureTypes.SpecificCultures) //Only specific cultures contain region information
.Select(x => new RegionInfo(x.LCID))
.GroupBy(x => x.ISOCurrencySymbol)
.Select(x => new CurrencyTable() {
Iso = x.Key,
Name = x.Select(y => y.CurrencyEnglishName).Distinct().FirstOrDefault()
});
这是 LINQ 版本:
var symbols = from x in CultureInfo.GetCultures(CultureTypes.SpecificCultures)
let region = new RegionInfo(x.LCID)
group region by region.ISOCurrencySymbol into g
let names = from r in g select r.CurrencyEnglishName
select new CurrencyTable() {
Iso = g.Key,
Name = names.FirstOrDefault()
};
关于c# - 如何从 C# 中的 CultureTypes 对象获取对值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43754211/