Tengo un escenario bastante complejo y necesito asegurarme de que los elementos que tengo en una lista estén ordenados.C# cómo ordenar una lista sin implementar IComparable manualmente?
En primer lugar, los elementos de la lista se basan en una estructura que contiene una estructura secundaria.
Por ejemplo:
public struct topLevelItem
{
public custStruct subLevelItem;
}
public struct custStruct
{
public string DeliveryTime;
}
Ahora tengo una lista compuesta de topLevelItems por ejemplo:
var items = new List<topLevelItem>();
necesito una manera de ordenar en la ASC DeliveryTime. Lo que también se agrega a la complejidad es que el campo DeliveryTime es una cadena. Como estas estructuras son parte de una API reutilizable, no puedo modificar ese campo a DateTime, tampoco puedo implementar IComparable en la clase topLevelItem.
¿Alguna idea de cómo se puede hacer esto?
Gracias
suena bien, supongo que agregar una cadena de formato (con parseExact) y cultura invariante a la mezcla no podría doler? –
@JL: Cuanto más específico sea el código, mejor. Dejar que Parse() intente detectar automáticamente el formato de su fecha no es una gran idea cuando puede evitarlo. La excepción es cuando está escribiendo código internacionalizado y desea usar la configuración cultural actual de la secuencia. – LBushkin