使用这段代码:
Dictionary<DateTime, double> FlowInformation = new Dictionary<DateTime, double>();
foreach (DateTime key in FlowInformation)
{
if (initialialrec != 0)
{
if (FlowInformation[key] > initialialrec)
flow = key.ToShortDateString() + " " + key.ToShortTimeString() + "+";
if (FlowInformation[key] < initialialrec)
flow = key.ToShortDateString() + " " + key.ToShortTimeString()+"-";
initialialrec = FlowInformation[key];
file.WriteLine(flow);
}
FlowInformation.Clear();
}
我得到一个编译错误:
Strategy\theFlowStrategy.cs Cannot convert type 'System.Collections.Generic.KeyValuePair' to 'System.DateTime'
我如何遍历这个集合?
请您参考如下方法:
通用字典是 KeyValuePair 项的列表。
要在键上循环(正如您尝试做的那样),然后在 FlowInformation.Keys 上循环。您还可以直接使用 FlowInformation.Values 循环值。
您可以做的另一件事是使用 KeyValuePair 作为迭代变量类型。这将使您不必执行 FlowInformation[key] 来找出哪个值对应于您的键,因为该值将位于迭代变量的 .Value 属性中。
