比较器有可变类型吗?

时间:2015-06-19 17:29:36

标签: c# variables compare

对于比较器,是否存在变量类型(类似intbool==)? (!=<=>=><int integerVariable = 0; )如果没有,C#如何使用它们?

我可以用

comp comparatorVariable = ==;

但是我可以用来做什么

Include

2 个答案:

答案 0 :(得分:5)

您列出的各种运营商没有型号。对象有类型。您列出的运算符本身不是对象,因此没有类型。如果您对C#语言如何使用运算符感兴趣,可以查看语言规范; C#5.0规范的第7.3节标题为&#34;运营商&#34;并且填充了有关C#如何处理运算符的信息。

答案 1 :(得分:-1)

C#提供了一个名为IComparable<T>的通用接口。

此界面只有一个方法:int CompareTo<T>

public interface IComparable<in T>
    {
        int CompareTo(T other);
    }

要实现比较运算符(==,!=,&lt; =,&gt; =,&gt;,&lt;),您需要在继承IComparable的类上实现这些运算符。

日期时间“==”运算符可能如下所示。

public static bool operator ==(DateTime d1, DateTime d2)
{
    return d1.CompareTo(d2) == 0;
}