Für Demo-Code, ich habe eine for
Schleife, die eine Methode LoopData
basierend auf einer Bedingung ruft.Wie überspringe ich bereits verarbeitete Listendaten?
In LoopData
Methode ich bin eine Liste List<Data>
und diese Methode wiederholt immer wieder verschiedene Bedingungen und jedes Mal, wenn die gesamte Liste List<Data>
Iterieren wiederholt.
Frage ist, wie diese Datensätze aus der Liste List<Data>
, die bereits im vorherigen Aufruf verarbeitet?
Hier ist der Code,
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)
{
//
}
}
}
}