【发布时间】:2012-04-19 07:12:03
【问题描述】:
我有一个名为 HardwarePerformance 的类,其中包含以下字段:time、cpuUsagePercent、memoryUsagePercent、diskUsage、diskRead、diskWrite、latency。 我已经填充了一个 List 对象来包含非统计数据。 我需要计算 Linq 命令中所有这些字段的平均值。 我不知道如何使用 Linq 获得平均值。下面是我写的代码(当然是不正确的)。
var _hardwarePerf = (from _stats in _statsList
where _time>=DateTime.Parse("2012-04-04 00:00:00")
&&_time<=DateTime.Parse("2012-04-04 11:00:00")
select new {
Latency = _stats.latency,
CpuUsagePercent = _stats.cpuUsagePercent,
MemoryUsagePercent = _stats.memoryUsagePercent,
DiskUsage = _stats.diskUsage, DiskRead = _stats.diskRead,
DiskWrite = _stats.diskWrite
}).Average(Latency => Latency.Latency);
这段代码的语法是正确的。但是我想同时计算所有的平均值,我的代码怎么写?
【问题讨论】:
-
请格式化您的代码,以便我们下次不需要水平滚动。
-
顺便说一句,为什么你的局部变量以
_开头?这是一个非常不寻常的命名约定。 -
_time和_stats有什么关系,因为你没有写过_stats._time?