【发布时间】:2014-03-31 09:53:07
【问题描述】:
我想访问类列表中的某个字段,以便在循环中进行计算。
这是我的第一堂课:
public class Hold
{
public DateTime Time { get; set; }
public Double XPosition { get; set; }
public Double YPosition { get; set; }
}
然后我的名单List<Hold>Data;
然后我使用 Linq 存储来自查询的值。
我最理想的做法是像这样访问列表的时间部分:
for(int i =0; i < Data.Count; i++)
{
double average = Data.Time // etc etc
}
【问题讨论】:
-
我想知道你想在你的 for 循环中做什么,也许有一个更简单的方法使用 Linq 并完全删除循环
-
从他的变量的命名来看,我假设他正在尝试计算他的日期的平均值。请注意,您不能将 DateTime 分配给 double,并且在循环内声明变量不会使其在外部可见。此外,您分配值的方式将在每次迭代时覆盖前一个。
-
@SaverioTerracciano 我打赌这不是他的全部代码。也许他对“循环局部”变量做了更多的事情?你知道吗?
-
您可能是对的,但他仍然无法将 DateTime 分配给 double,并且变量的命名与代码显示的不匹配。
-
@SaverioTerracciano 那么,
etc etc是什么?也许是.TotalMillseconds。突然之间它是正确的。我只是认为根据原始问题中的错误对答案投反对票是不公平的。您不妨对所有引用字符串连接的 SQL 语句的答案投反对票,因为它对 SQL 注入开放。 OP 想知道如何索引列表/如何访问列表中单个项目的成员,这就是我们所展示的。他并不是要问如何在DateTime上建立一个平均值(无论如何,该值是多少)。