Encoding.Equals(Object) 方法

定义

确定指定的 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

参数

value
Object

Object 当前实例进行比较。

返回

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,其回退通常nullNothing在 Visual Basic .NET 中)。 因此,它们都被视为彼此相等。 一个后果是,当用于填充哈希表时 Equals ,所有派生编码都会比较相等并落在同一哈希表槽中。

适用于

另请参阅