我有一个类型的集合NumberList。
public class NumberList
{
public int Number { get; set; }
public double Profit { get; set; }
public DateTime CloseTime { get; set; }
}
所有记录都存储在NumberList中,并按 Number 和 Date 降序排序。
现在我需要循环遍历整个列表,搜索有 10 个条目的 Number 并将它们存储在新列表中。
我遇到的问题是我得到了 10 个值,但不是相同的数字,比如数字 26724 有 9 个条目,他取下一个 18450 并将其也添加到列表中,因为它缺少 1。它不需要添加其他数字,而是需要重置并tempList继续在下一个数字上,因为它只有 9 个条目。
我如何提取相同编号的前 10 个条目并将它们添加到新列表中?
这是代码:
var tempList = new List<NumberList>(); // temporary list
var finalList = new List<NumberList>(); // new list where we store final results
foreach (var item in NumberList)
{
tempList.Add(item); // add numbers to temp list
// if temlist contains Number and number of items in list is less then 10
if (tempList.Contains(item) && tempList.Count() < 10)
{
finalList.Add(item);
}
else
{
if (tempList.Count() == 10) // check for number of items in list
{
tempList.Clear(); // reset tempList
}
}
}
例如,它需要如何工作:号码 26724 只有 9 个条目,因此他不会出现在新列表中,号码 18450 有 8 个条目,他不会出现在列表中,号码 16822 有 20 个条目,因此我们取出该号码的前 10 个条目并放入在新列表中。
26724, -6.55, 18-Jul-19 08:32:30
26724, 12.21, 20-Jun-19 03:54:56
26724, -6.53, 14-Jun-19 20:09:28
26724, 12.15, 31-May-19 17:13:25
26724, 0.98, 21-May-19 09:00:01
26724, 4.21, 15-May-19 07:02:02
26724, -6.56, 08-May-19 18:00:43
26724, -7.35, 24-Apr-19 18:40:25
26724, -6.59, 04-Apr-19 21:08:40
18450, 6.79, 18-Jul-19 22:16:26
18450, 6.69, 20-Jun-19 03:31:27
18450, 6.82, 14-Jun-19 09:57:16
18450, 6.66, 31-May-19 20:27:05
18450, -0.28, 13-May-19 15:59:08
18450, -5.95, 08-May-19 18:00:01
18450, -3.53, 24-Apr-19 12:00:42
18450, -6.05, 04-Apr-19 21:00:03
16822, 10.38, 11-Jul-19 04:56:27
16822, 9.88, 27-Jun-19 09:00:00
16822, 0.43, 17-Jun-19 16:00:02
16822, -2.36, 11-Jun-19 04:00:00
16822, -9.82, 05-Jun-19 20:08:02
16822, 13.31, 31-May-19 21:06:21
16822, 1.49, 22-May-19 10:00:02
16822, -2.8, 17-May-19 12:00:01
16822, -8.8, 13-May-19 15:07:46
16822, -8.43, 10-May-19 21:49:31
16822, -5.84, 03-May-19 16:45:26
...... etc
ibeautiful
翻阅古今
qq_花开花谢_0
米琪卡哇伊
四季花海
相关分类