我有一个名为Persons的表,该表具有两列(CountTalked(int),Age(int)),使用实体框架核心2.2,我从此表中获得类似以下的列表:
[
P1 = {CountTalked= 4,age= 25},//Index 0
p2 = {CountTalked= 3,age = 30},//Index 1
p3 = {CountTalked = 2,age= 33},// Index 2
p4 = {CountTalked = 1, age = 27 },// Index 3
p5 = {CountTalked = 0, age = 28} // Index 4
]
我有一个这样的课程:classTest:{CountTalked = 2},如果我将自己的课程与列表进行比较,我希望我的课程在位置与列表进行比较,则我处于第3位
,问题是我该如何获取位置以便发送ClassTest的CountTalked。如果我的classTest的CountTalked = 5,那么我的排名将是=> 1
如果您只想知道该人在列表中的位置,则不必为此排序,您只需要知道多少人的钱少(或等值钱)-简单的计数会给你答案:
var index = Persons.Count(p => p.Money <= pTest.Money);
索引基于零的事实意味着该计数将为您提供列表中pTest适合的下一个索引。
这比排序列表然后从列表中选择项目更有效,因为您只需要遍历整个列表一次。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句