So I have following struct
public struct Foo
{
public readonly int FirstLevel;
public readonly int SecondLevel;
public readonly int ThirdLevel;
public readonly int FourthLevel;
}
Somewhere I do the following
var sequence = new Foo[0];
var orderedSequence = sequence
.OrderBy(foo => foo.FirstLevel)
.ThenBy(foo => foo.SecondLevel)
.ThenBy(foo => foo.ThirdLevel)
.ThenBy(foo => foo.FourthLevel);
Now I would like to implement System.IComparable<Foo> to take eg. advantage of .Sort() of Foo[].
How do I transfer the logic (from my special/wired OrderBy/ThenBy) to int CompareTo(Foo foo)?
What about something like: