Joe*_*l B 2 c# sorteddictionary
我有一个排序字典,包含测量数据点作为键/值对.为了确定非测量数据点的值,我想使用相应值的线性插值来推断两个已知键之间的值.我知道如果我有两个键/值对之间如何计算非测量数据点.我不知道的是如何找出它之间的关键.是否有比"for"循环更优雅的方式(我正在考虑函数/ LINQ查询)来确定我的数据点位于哪两个键之间?
像这样的东西会起作用:
dic.Keys.Zip(dic.Keys.Skip(1),
(a, b) => new { a, b })
.Where(x => x.a <= datapoint && x.b >= datapoint)
.FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
这会使用它们被排序的事实遍历它们,并按顺序将所有两个键相互比较 - 因为一旦找到第一个匹配,LINQ就会变得很懒,遍历将停止.
归档时间: |
|
查看次数: |
3554 次 |
最近记录: |