CSharp · Console
using System;
using System.Collections.Generic;
public class Program
{
public static void Main()
{
List<CustomObject> list = new List<CustomObject>
{
new CustomObject { Value = 3 },
new CustomObject { Value = 1 },
new CustomObject { Value = 2 },
new CustomObject { Value = 3 },
new CustomObject { Value = 1 },
new CustomObject { Value = 2 },
new CustomObject { Value = 3 },
new CustomObject { Value = 1 },
new CustomObject { Value = 2 },
new CustomObject { Value = 3 },
new CustomObject { Value = 1 },
new CustomObject { Value = 2 },
new CustomObject { Value = 3 },
new CustomObject { Value = 1 },
new CustomObject { Value = 2 },
new CustomObject { Value = 3 },
new CustomObject { Value = 1 },
new CustomObject { Value = 2 },
};
list.Sort(delegate(CustomObject s1, CustomObject s2)
{
if (s1.Value > s2.Value+2) return 1;
if (s1.Value < s2.Value+2) return -1;
return 0;
});
}
public class CustomObject
{
public int Value { get; set; }
}
}