C#关于IComparable接口问题

来源:百度知道 编辑:UC知道 时间:2024/06/01 11:58:29
关于了类Contact:IComparable中有这段代码有什么用??

public int CompareTo(object obj)
{
if (obj is Contact)
return this.m_name.CompareTo(((Contact)obj).m_name);
return -1;
}

这个代码比较有什么用??

.NET Framework 类库IComparable 接口定义通用的比较方法,由值类型或类实现以创建类型特定的比较方法。

命名空间:System
程序集:mscorlib(在 mscorlib.dll 中)

C#
[ComVisibleAttribute(true)]
public interface IComparable
备注: 此接口由值可以排序的类型实现;例如数值或字符串类。

值类型或类实现 CompareTo 方法以创建适合排序等目的的类型特定的比较方法。

示例:

下面的代码示例说明 IComparable 的实现,以及必需的 CompareTo 方法。
——————————————————————————————————————
C#
public class Temperature : IComparable {
/// <summary>
/// IComparable.CompareTo implementation.
/// </summary>
public int CompareTo(object obj) {
if(obj is Temperature) {
Temperature temp = (Temperature) obj;

return m_value.CompareTo(temp.m_value);
}

throw new ArgumentException("object is not a Temperature");
}

// The value holder
protected int m_value;

public int Value