【发布时间】:2019-06-25 21:08:44
【问题描述】:
我有一段 C# 代码,其中我创建了一个 匿名类型 对象,如下所示:
var measurementUnits = new List<dynamic>() {
new { Unit = "SQF", Display = new List<string>() { "F", "FT", "SQ FT" }, Ratio=1.5 } ,
new { Unit = "Hectares", Display = new List<string>() { "H", "HEC"} , Ratio=2.5},
new { Unit = "Acres", Display = new List<string>() { "AC(TO)" } , Ratio=3.5},
new { Unit = "SQM", Display = new List<string>() { "M", "SQ M"}, Ratio=4.5 }
};
通过 LINQ,我想访问 Ratio,其中 Display="HEC"(不区分大小写)类似于:
var multiplier = measurementUnits.Where(m => m.Display == "HEC").First().Ratio;
【问题讨论】:
-
你有什么理由在这里使用
dynamic吗?我没有看到你正在做的任何动态......为什么不创建一个匿名类型的列表,并保留静态类型的所有好处? -
顺便说一句,“H”或“HEC”。您的代码和描述不完全匹配
标签: c# list linq dynamic anonymous-types