虽然这是有效的,但我相当肯定有一种更简洁(和正确?)的方式来编写这个表达式。
double currentPopulation = 0.0;
if (detailmetrics.FirstOrDefault(dm => dm.MetricScopeID == 2 && dm.MetricTypeID == 1 &&
dm.Timeframe.Equals("C")) != null)
{
currentPopulation = Convert.ToDouble(
detailmetrics.FirstOrDefault(dm => dm.MetricScopeID == 2 && dm.MetricTypeID == 1 &&
dm.Timeframe.Equals("C")
).MetricValue
);
}
Run Code Online (Sandbox Code Playgroud)
简单地
double currentPopulation = detailmetrics
.Where(dm => dm.MetricScopeID == 2 && dm.MetricTypeID == 1 && dm.Timeframe.Equals("C"))
.Select(a => Convert.ToDouble(a.MetricValue))
.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
134 次 |
| 最近记录: |