Encoding.Equals(Object) 方法
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
确定指定的 Object 实例是否等于当前实例。
public:
override bool Equals(System::Object ^ value);
public override bool Equals(object value);
public override bool Equals(object? value);
override this.Equals : obj -> bool
Public Overrides Function Equals (value As Object) As Boolean
参数
返回
true 如果 value 为当前实例的 Encoding 实例且等于当前实例,则为 ;否则为 false。
示例
以下示例获取同一编码的两个实例(一个按代码页和另一个按名称),并检查它们的相等性。
using System;
using System.Text;
public class SamplesEncoding {
public static void Main() {
// Get a UTF-32 encoding by codepage.
Encoding e1 = Encoding.GetEncoding( 12000 );
// Get a UTF-32 encoding by name.
Encoding e2 = Encoding.GetEncoding( "utf-32" );
// Check their equality.
Console.WriteLine( "e1 equals e2? {0}", e1.Equals( e2 ) );
}
}
/*
This code produces the following output.
e1 equals e2? True
*/
Imports System.Text
Public Class SamplesEncoding
Public Shared Sub Main()
' Get a UTF-32 encoding by codepage.
Dim e1 As Encoding = Encoding.GetEncoding(12000)
' Get a UTF-32 encoding by name.
Dim e2 As Encoding = Encoding.GetEncoding("utf-32")
' Check their equality.
Console.WriteLine("e1 equals e2? {0}", e1.Equals(e2))
End Sub
End Class
'This code produces the following output.
'
'e1 equals e2? True
注解
如果两个Encoding实例对应于同一代码页,并且它们的和EncoderFallbackDecoderFallback对象相等,则被视为相等。 具体而言,派生代码页都有一个代码页 0,其回退通常null(Nothing在 Visual Basic .NET 中)。 因此,它们都被视为彼此相等。 一个后果是,当用于填充哈希表时 Equals ,所有派生编码都会比较相等并落在同一哈希表槽中。