私はもっとうまくやれることがわかっているコードの塊を持っていますが、どうすればいいのかわかりません。これに役立ついくつかの方法があると思いますが、確信が持てないので、これが要素プログラミングである場合はご容赦ください。
オブジェクトのリストを作成するために 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;
}
これは基本的にデータセットを 2 回ループします...したがって、ここで初心者プログラマーのように聞こえることなく、クエリ自体で TOP(###) を使用せずに結果セットを 100 に制限する最良の方法は何でしょうか? (ストアド プロシージャを使用しているため、クエリを変更することは問題外です)。
ありがとう!あなたの答えを楽しみにしています。