/// <summary> /// Comparers <paramref name="obj1"/> and <paramref name="obj2"/>. /// </summary> /// <param name="obj1">Object 1.</param> /// <param name="obj2">Object 2.</param> /// <param name="settings">Instance of <see cref="ComparisonSettings"/> class.</param> /// <returns>true if the objects are considered equal; otherwise, false.</returns> public bool Compare(object obj1, object obj2, ComparisonSettings settings) { var isObj1Default = obj1?.Equals(_defaultValue) != false || obj1.Equals(_typeDefaultValue); var isObj2Default = obj2?.Equals(_defaultValue) != false || obj2.Equals(_typeDefaultValue); return((isObj1Default && isObj2Default) || _valueComparer.Compare(obj1, obj2, settings)); }
public int CompareTo(object obj) { var objResolved = obj is LambdaParameterWrapper ? ((LambdaParameterWrapper)obj).Value : obj; var cmpRes = Cmp.Compare(Value, objResolved); if (!cmpRes.HasValue) { throw new ArgumentException(); } return(cmpRes.Value); }
/*public void Sort() * { * for(var i=0;i<_list.Count-1;i++) * for (var j = i + 1; j < _list.Count; j++) * { * var left = (Book) _list[i]; * var right = (Book) _list[j]; * if (left.Id > right.Id) * { * //Swap * var temp = left; * _list[i] = _list[j]; * _list[j] = temp; * } * } * }*/ public void Sort(IValueComparer <T> comparer) { for (var i = 0; i < _list.Count - 1; i++) { for (var j = i + 1; j < _list.Count; j++) { var left = (T)_list[i]; var right = (T)_list[j]; var shouldSwap = comparer.Compare(left, right) == 1; if (shouldSwap) { var temp = _list[i]; _list[i] = _list[j]; _list[j] = temp; } } } }