Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.Net属性.Match与.Equals?_.net - Fatal编程技术网

.Net属性.Match与.Equals?

.Net属性.Match与.Equals?,.net,.net,今天我在实现自己的属性时注意到虚拟函数Match。 Match的正常实现是调用Equals,那么为什么它首先存在呢 文档中说明了Match 在派生类中重写时,返回一个值,该值指示 此实例是否等于指定的对象 文档中说等于 返回一个值,该值指示此实例是否等于 指定的对象 该方法的示例解释了它们的区别: 此方法确定一个属性是否等于另一个属性。它的默认实现与Equals相同,Equals执行值和引用比较。重写此方法以实现对属性值(如标志或位字段)的支持,这些属性值由本身有意义的组件组成 例如,考虑一个属

今天我在实现自己的属性时注意到虚拟函数
Match
Match
的正常实现是调用
Equals
,那么为什么它首先存在呢

文档中说明了
Match

在派生类中重写时,返回一个值,该值指示 此实例是否等于指定的对象

文档中说
等于

返回一个值,该值指示此实例是否等于 指定的对象

该方法的示例解释了它们的区别:

此方法确定一个属性是否等于另一个属性。它的默认实现与Equals相同,Equals执行值和引用比较。重写此方法以实现对属性值(如标志或位字段)的支持,这些属性值由本身有意义的组件组成

例如,考虑一个属性,它的值是一个二进制字段,它被划分为一个标志位字段。此属性的两个实例有一个共同的标志集,而所有其他标志都不同。Equals方法无法确定两个实例是否设置了相同的标志,但Match方法可以

该方法的示例解释了它们的区别:

此方法确定一个属性是否等于另一个属性。它的默认实现与Equals相同,Equals执行值和引用比较。重写此方法以实现对属性值(如标志或位字段)的支持,这些属性值由本身有意义的组件组成

例如,考虑一个属性,它的值是一个二进制字段,它被划分为一个标志位字段。此属性的两个实例有一个共同的标志集,而所有其他标志都不同。Equals方法无法确定两个实例是否设置了相同的标志,但Match方法可以

从文件中:

考虑一个属性,它的值是一个二进制字段,被划分为一个标志位字段。此属性的两个实例有一个共同的标志集,而所有其他标志都不同。Equals方法无法确定两个实例是否设置了相同的标志,但Match方法可以

从文件中:

考虑一个属性,它的值是一个二进制字段,被划分为一个标志位字段。此属性的两个实例有一个共同的标志集,而所有其他标志都不同。Equals方法无法确定两个实例是否设置了相同的标志,但Match方法可以

备注的MSDN文档部分给出了一个合理的示例。备注的MSDN文档部分给出了一个合理的示例。换句话说,是一种抽象方法。如果
Equals()
还不够,你应该用自己的实现覆盖它。换句话说,它是一个抽象方法。如果
Equals()
还不够,您应该用自己的实现覆盖它。