Autor Beitrag
C#
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 561
Erhaltene Danke: 65

Windows 10, Kubuntu, Android
Visual Studio 2017, C#, C++/CLI, C++/CX, C++, F#, R, Python
BeitragVerfasst: Di 25.03.14 17:54 
Hey,

gibt es eine Möglichkeit "ungültige" Werte bei einer OrderBy() Operation an das Ende einer Liste zu verschieben, statt an den Anfang. Konkret geht es hier um double-Werte.

ausblenden C#-Quelltext
1:
2:
3:
4:
5:
6:
7:
8:
9:
10:
11:
12:
13:
case SortMode.ByTextAsDouble:
          items = sortingOrder == SortOrder.Descending
            ? items.OrderByDescending(a =>
            {
              double d;
              return double.TryParse(a.Text, out d) ? d : double.NaN;
            }).ToList()
            : items.OrderBy(a =>
            {
              double d;
              return double.TryParse(a.Text, out d) ? d : double.NaN;
            }).ToList();
          break;


Sollte ein String nicht nach double castbar (gibts das Wort überhaupt :D ?) sein gebe ich einfach den Wert double.NaN weiter. Diese landen aber am Anfang der Liste und ich hätte sie gerne am Ende. Kennt da jemand eine Möglichkeit ohne die Liste nochmal nachträglich bearbeiten zu müssen?

_________________
Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler
Ralf Jansen
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starhalf ontopic star
Beiträge: 4708
Erhaltene Danke: 991


VS2010 Pro, VS2012 Pro, VS2013 Pro, VS2015 Pro, Delphi 7 Pro
BeitragVerfasst: Di 25.03.14 17:59 
Anstatt NaN bei Descending double.MinValue und im anderen Fall double.MaxValue verwenden.

Für diesen Beitrag haben gedankt: C#
C# Threadstarter
ontopic starontopic starontopic starontopic starontopic starontopic starontopic starofftopic star
Beiträge: 561
Erhaltene Danke: 65

Windows 10, Kubuntu, Android
Visual Studio 2017, C#, C++/CLI, C++/CX, C++, F#, R, Python
BeitragVerfasst: Di 25.03.14 18:06 
:autsch: Perfekt danke

_________________
Der längste Typ-Name im .NET-Framework ist: ListViewVirtualItemsSelectionRangeChangedEventHandler