у меня есть List<MyClass>
Класс такой:
private class MyClass
{
public string Name{ get; set; }
public int SequenceNumber { get; set; }
}
Я хочу выяснить, какие порядковые номера могут отсутствовать. Я могу видеть, как это сделать здесь однако, потому что это класс, я не уверен, что делать?
Я думаю, что могу справиться с методом кроме нормально с моим собственным IComparer, но метод Range я не могу выяснить, потому что он только исключает int, поэтому он не компилируется:
Enumerable.Range(0, 1000000).Except(chqList, MyEqualityComparer<MyClass>);
Вот IComparer:
public class MyEqualityComparer<T> : IEqualityComparer<T> where T : MyClass
{
#region IEqualityComparer<T> Members
public bool Equals(T x, T y)
{
return (x == null && y == null) || (x != null && y != null && x.SequenceNumber.Equals(y.SequenceNumber));
}
/// </exception>
public int GetHashCode(T obj)
{
if (obj == null)
{
throw new ArgumentNullException("obj");
}
return obj.GetHashCode();
}
#endregion
}