1
デモコードについては、for
というループがあり、何らかの条件に基づいてメソッドLoopData
を呼び出します。既に処理されたリストデータをスキップする方法は?
メソッドでは、リストList<Data>
を繰り返し実行しています。このメソッドは、さまざまな条件で繰り返し呼び出され、全体リストList<Data>
が繰り返し実行されています。
質問:以前の呼び出しで既に処理されたリストList<Data>
からこれらのレコードをスキップする方法はありますか。ここで
コードです、
public class Data
{
public int Id { get; set; }
public int ItemId { get; set; }
}
class Program
{
static void Main(string[] args)
{
List<Data> data = new List<Data>
{
new Data { Id = 1, ItemId = 100 },
new Data { Id = 2, ItemId = 200 },
new Data { Id = 3, ItemId = 300 },
new Data { Id = 4, ItemId = 400 },
new Data { Id = 5, ItemId = 500 }
};
for(int i = 1; i <= 2; i++)
{
if (i == 1)
{
LoopData(data, 100, 300);
}
else
{
LoopData(data, 300, 500);
}
}
}
private static void LoopData(List<Data> data, int startItemId, int endItemId)
{
for(int i = 0; i < data.Count; i++)
{
if(data[i].ItemId >= startItemId && data[i].ItemId <= endItemId)
{
//
}
}
}
}