将计算中的数据插入按值排序的列表中

时间:2015-11-10 17:57:10

标签: c# .net linq list sorting

我正在从数据库中的数据进行一些c#.net计算,这会产生一些字符串字段和一个具有数字的int字段(starLength)。

最终我希望看到结果按此int字段(starLength)排序的前100条记录。

我想要做的是:当执行计算时,我想开始将此数据插入某些数据类型,如果下一条记录符合starLength的范围并且在100条记录内,那么我想添加该记录。

我尝试过:我创建了一个类型为Stars的类,它具有各种字符串字段和int字段。当我遍历计算产生的数据时,我将Star的记录添加到List中,然后对它们进行排序。但是,这会将每个结果插入到列表中,即百万+记录。我只关心按starLength排序的前100条记录。

有关如何执行计算的任何建议,请检查这是否属于前100个starLength字段,然后才插入记录。

编辑:添加一些代码以显示我的内容和问题

    public class Stars
    {
         string a;
         string b;
         string c;
         int starLength;

         public Stars (_a,_b,_c,_sLength)
         {
            a=_a;
            b=_b;
            c=_c;
            starLength=_sLength
         }
    }

//main
    List<Stars> myStars = new List<Stars>();

   //doing math here and adding records
   myStars.Add(a,b,c,sl);

^基本上我拥有的东西。但是当我填写myStars列表时,我想确保starLength在百强之列的范围内

1 个答案:

答案 0 :(得分:1)

我不知道你是如何从数据库中获取这些数据的,但是如果你愿意,我会假设你能够把它作为一个List。无论如何,LINQ似乎是最好的选择。

var results = yourListFromDataBase.Where(s => s.yourIntValue == <your criteria>).Take(100);

如果你想稍微组织一下,你甚至可以在那里添加OrderBy。

你确实提过了一些计算,所以我并不完全肯定这对你来说是实用的。