TimeZoneInfo.Equals 方法

定义

确定两个 TimeZoneInfo 对象是否相等。

重载

Equals(Object)

确定当前的 TimeZoneInfo 对象和另一个对象是否相等。

Equals(TimeZoneInfo)

确定当前的 TimeZoneInfo 对象和另一个 TimeZoneInfo 对象是否相等。

Equals(Object)

确定当前的 TimeZoneInfo 对象和另一个对象是否相等。

public:
 override bool Equals(System::Object ^ obj);
public override bool Equals (object? obj);
public override bool Equals (object obj);
override this.Equals : obj -> bool
Public Overrides Function Equals (obj As Object) As Boolean

参数

obj
Object

要与当前对象进行比较的第二个对象。

返回

Boolean

如果 obj 是等于当前实例的 TimeZoneInfo 对象,则为 true;否则为 false

示例

下面的示例使用 Equals(Object) 此方法来确定本地时区是太平洋时间还是东部时间。

using System;

public class Example
{
   public static void Main()
   {
      TimeZoneInfo thisTimeZone;
      object obj1, obj2;
      
      thisTimeZone = TimeZoneInfo.Local;
      obj1 = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
      obj2 = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
      Console.WriteLine(thisTimeZone.Equals(obj1));
      Console.WriteLine(thisTimeZone.Equals(obj2));
   }
}
// The example displays the following output:
//      True
//      False
open System

let thisTimeZone = TimeZoneInfo.Local
let obj1 = TimeZoneInfo.FindSystemTimeZoneById "Pacific Standard Time"
let obj2 = TimeZoneInfo.FindSystemTimeZoneById "Eastern Standard Time"
printfn $"{thisTimeZone.Equals obj1}"
printfn $"{thisTimeZone.Equals obj2}"
// The example displays the following output:
//      True
//      False
Module Example
   Public Sub Main()
      Dim thisTimeZone As TimeZoneInfo
      Dim obj1, obj2 As Object
      
      thisTimeZone = TimeZoneInfo.Local
      obj1 = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time")
      obj2 = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")
      Console.WriteLine(thisTimeZone.Equals(obj1))
      Console.WriteLine(thisTimeZone.Equals(obj2))
   End Sub
End Module
' The example displays the following output:
'      True
'      False

注解

此方法将转换或强制转换为objTimeZoneInfo对象,并将其与当前实例进行比较。 相等性测试基于值的比较。 当前 TimeZoneInfo 实例, obj 并被视为在以下条件下相等:

  • 运行时类型 objTimeZoneInfo.

  • 这两个 Id 对象具有相同的属性值。

  • 这两个对象具有相同的调整规则。

如果 objnull,则此方法返回 false

适用于

Equals(TimeZoneInfo)

确定当前的 TimeZoneInfo 对象和另一个 TimeZoneInfo 对象是否相等。

public:
 virtual bool Equals(TimeZoneInfo ^ other);
public bool Equals (TimeZoneInfo other);
public bool Equals (TimeZoneInfo? other);
override this.Equals : TimeZoneInfo -> bool
Public Function Equals (other As TimeZoneInfo) As Boolean

参数

other
TimeZoneInfo

要与当前对象进行比较的第二个对象。

返回

Boolean

如果两个 TimeZoneInfo 对象相等,则为 true;否则为 false

实现

示例

下面的示例使用 Equals(TimeZoneInfo) 此方法来确定本地时区是太平洋时间还是东部时间。

   TimeZoneInfo thisTimeZone, zone1, zone2;

   thisTimeZone = TimeZoneInfo.Local;
   zone1 = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time");
   zone2 = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time");
   Console.WriteLine(thisTimeZone.Equals(zone1));
   Console.WriteLine(thisTimeZone.Equals(zone2));
let thisTimeZone = TimeZoneInfo.Local
let zone1 = TimeZoneInfo.FindSystemTimeZoneById "Pacific Standard Time"
let zone2 = TimeZoneInfo.FindSystemTimeZoneById "Eastern Standard Time"
printfn $"{thisTimeZone.Equals zone1}"
printfn $"{thisTimeZone.Equals zone2}"
Dim thisTimeZone, zone1, zone2 As TimeZoneInfo

thisTimeZone = TimeZoneInfo.Local
zone1 = TimeZoneInfo.FindSystemTimeZoneById("Pacific Standard Time")
zone2 = TimeZoneInfo.FindSystemTimeZoneById("Eastern Standard Time")
Console.WriteLine(thisTimeZone.Equals(zone1))
Console.WriteLine(thisTimeZone.Equals(zone2))

注解

相等基于值的比较。 在以下条件下,两 TimeZoneInfo 个对象被视为相等:

  • Id 属性的值相同。

  • 它们具有相同的调整规则。

TimeZoneInfo.Equals(TimeZoneInfo) 返回计算以下表达式产生的布尔值:

other.Id == this.Id && HasSameRules(other);  
other.Id = me.Id AndAlso HasSameRules(other)  

other如果参数是未初始化TimeZoneInfo的对象,则此方法返回 false

适用于