我有一大段代码我知道可以做得更好,我只是不知道如何去做。我认为有一些方法可以帮助解决这个问题,但我不确定,所以如果这是基本编程,请原谅我。
我正在遍历一个 DataReader 以填充对象列表,但我想限制列表中的索引数量。我当前的代码如下所示:
while (dr.Read())
{
temp.Add(new Object()
{
PropertyA = dr.GetString(0),
...
...
});
}
if (temp.Count > 100)
{
for (int i = 0; i <= 100; i++)
{
retObject.Add(new Object()
{
PropertyA = temp[i].PropertyA,
...
...
});
}
return retObject;
}
else
{
return temp;
}
这实际上在数据集上循环了两次......因此,在这里听起来不太像新手程序员,在查询本身中不使用 TOP(###) 将结果集限制为 100 的最佳方法是什么?(我们使用存储过程,因此更改查询是不可能的)。
谢谢各位!我期待着你的回答。