前提・実現したいこと
多重ソートをOrderByで書きたいです。
Number, Sizeでソートしているコードです。同じNumberがあれば、サイズの順になります。
C#
1 private void Sort() 2 { 3 Models.Sort(delegate (Model x, Model y) 4 { 5 if (x.Size == null && y.Size == null) return 0; 6 else if (x.Size == null) return -1; 7 else if (y.Size == null) return 1; 8 else return x.Size.CompareTo(y.Size); 9 }); 10 11 Models.Sort(delegate (Model x, Model y) 12 { 13 if (x.Number == null && y.Number == null) return 0; 14 else if (x.Number == null) return -1; 15 else if (y.Number == null) return 1; 16 else return x.Number.CompareTo(y.Number); 17 }); 18 }
これ、ひょっとして、
C#
1 Models 2 .OrderBy(cell => cell.Size) 3 .OrderBy(cell => cell.Number);
でできるのかと思ったらできませんでした。 正しいコードを教えてください。
補足情報(FW/ツールのバージョンなど)
Visual Studio 2015
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/03/01 08:47