【发布时间】:2015-07-23 18:43:40
【问题描述】:
如何通过 IdDate 获取 rsi_Wilder 中的 RSI_Value? 我对我的 rsi_Wilder 进行排序,因此最高的 IdDate 始终是最后一个索引。因此我可以这样做:
class RSI
{
public int IdDate { get; set; }
public decimal RSI_Value { get; set; }
}
List<Datamodel.RSI> rsi_Wilder = BeregnRsi_Wilder(idVirksomhedensStamdata, BeregnAntalDage: 21);
var lastValue = rsi_Wilder[rsi_Wilder.Count - 1].RSI_Value;
它工作正常,但我认为必须有更好的方法/更好的性能来通过最高 IdDate 找到 RSI_Value。最好的方法是什么?
编辑: 示例。
rsi_wilder.Add(new Datamodel.RSI{IdDate = 25, RSI_Value = 17});
rsi_wilder.Add(new Datamodel.RSI{IdDate = 26, RSI_Value = 26});
rsi_wilder.Add(new Datamodel.RSI{IdDate = 27, RSI_Value = 9});
rsi_wilder.Add(new Datamodel.RSI{IdDate = 31, RSI_Value = 70});
rsi_wilder.Add(new Datamodel.RSI{IdDate = 32, RSI_Value = 55});
我需要获取具有最高 IdDate 的 RSI_Value,但我不知道 IdDate 编号。我寻求的结果是 RSI_Value = 55。
代码var lastValue = rsi_Wilder[rsi_Wilder.Count - 1].RSI_Value; 完成了这项工作,因为 rsi_Wilder 中的 IdDate 是从小到大排序的。
【问题讨论】:
-
你的意思是,如果
BeregnRsi_Wilder碰巧以相反的顺序或未排序的顺序返回结果,你怎么能得到最高值? -
“更好的方式”是指更好的性能吗?
rsi_Wilder订购了吗? -
也许您可以使用不同的数据结构以获得更好的性能。例如,SortedList 或 SortedSet,取决于您的应用程序的需求。
-
你是这个意思?
var max = rsi_Wilder.Max(rsi => rsi.RSI_Value);?? -
标题的
List<object>具有误导性...