Mam dość złożony scenariusz i muszę się upewnić, że pozycje, które mam na liście, są sortowane.C# jak sortować listę bez ręcznego wdrażania IComparable?
Po pierwsze pozycje na liście oparte są na strukturze zawierającej podstrukturę.
Na przykład:
public struct topLevelItem
{
public custStruct subLevelItem;
}
public struct custStruct
{
public string DeliveryTime;
}
Teraz mam listę składającą się z topLevelItems na przykład:
var items = new List<topLevelItem>();
potrzebuję sposób sortowania na ASC DeliveryTime. Co dodatkowo zwiększa złożoność, to pole DeliveryTime jest ciągiem znaków. Ponieważ te struktury są częścią interfejsu API wielokrotnego użytku, nie mogę zmodyfikować tego pola do elementu DateTime, ani nie mogę zaimplementować opcji IComparable w klasie topLevelItem.
Jakieś pomysły, jak to zrobić?
Dziękuję
brzmi dobrze, myślę, że dodanie ciąg formatu (z parseExact) i niezmienna kultury do mix nie zaszkodzi? –
@JL: Im bardziej konkretny kod, tym lepiej. Pozwalanie funkcji Parse() na automatyczne wykrywanie formatu daty nie jest świetnym pomysłem, gdy można tego uniknąć. Wyjątkiem jest pisanie kodu umiędzynarodowionego i korzystanie z bieżących ustawień kultury wątku. – LBushkin