我正在从数据库中的数据进行一些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在百强之列的范围内
答案 0 :(得分:1)
我不知道你是如何从数据库中获取这些数据的,但是如果你愿意,我会假设你能够把它作为一个List。无论如何,LINQ似乎是最好的选择。
var results = yourListFromDataBase.Where(s => s.yourIntValue == <your criteria>).Take(100);
如果你想稍微组织一下,你甚至可以在那里添加OrderBy。
你确实提过了一些计算,所以我并不完全肯定这对你来说是实用的。