Digamos que tengo un objeto:3 elementos antiguos de la lista <> en C#
public class CustomObj
{
DateTime Date { get; set; }
String Name { get; set; }
}
continuación, vamos a decir que tengo una lista con 20 diferentes elementos.
var stuff = new List<CustomObj>
{
{ Date = DateTime.Now, Name = "Joe" },
{ Date = DateTime.Now.AddDays(1), Name = "Joe2" },
{ Date = DateTime.Now.AddDays(2), Name = "Joe3" },
{ Date = DateTime.Now.AddDays(3), Name = "Joe4" },
{ Date = DateTime.Now.AddDays(4), Name = "Joe5" },
{ Date = DateTime.Now.AddDays(5), Name = "Joe6" },
{ Date = DateTime.Now.AddDays(6), Name = "Joe7" },
{ Date = DateTime.Now.AddDays(7), Name = "Joe8" },
{ Date = DateTime.Now.AddDays(8), Name = "Joe9" },
{ Date = DateTime.Now.AddDays(9), Name = "Joe10" },
{ Date = DateTime.Now.AddDays(10), Name = "Joe11" }
}
¿Cómo puedo eliminar los 3 elementos más antiguos?
stuff.RemoveAll(item => ???)
Si repite la lista para eliminar elementos, asegúrese de usar un para y no un foreeach. – jim
Si "más antiguo" es para "primero en entrar", la solución más simple debe ser un enfoque de "primero en entrar, primero en salir": use una 'Cola '. –
Excelente pregunta, fácil de entender el caso de uso, y me ha resultado realmente fácil para el lector encontrar la respuesta correcta. Gracias por preguntar como lo hiciste. – joelc