TimeZoneInfo.AdjustmentRule.Equals Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Overload
Equals(Object) |
Indica se l'istanza corrente è uguale a un'altra istanza. |
Equals(TimeZoneInfo+AdjustmentRule) |
Determina se l'oggetto TimeZoneInfo.AdjustmentRule corrente è uguale a un secondo oggetto TimeZoneInfo.AdjustmentRule. |
Equals(Object)
Indica se l'istanza corrente è uguale a un'altra istanza.
public:
override bool Equals(System::Object ^ obj);
public override bool Equals (object? obj);
override this.Equals : obj -> bool
Public Overrides Function Equals (obj As Object) As Boolean
Parametri
- obj
- Object
Istanza da confrontare con questa istanza.
Restituisce
true
se l'istanza corrente è uguale all'altra istanza; in caso contrario, false
.
Si applica a
Equals(TimeZoneInfo+AdjustmentRule)
Determina se l'oggetto TimeZoneInfo.AdjustmentRule corrente è uguale a un secondo oggetto TimeZoneInfo.AdjustmentRule.
public:
virtual bool Equals(TimeZoneInfo::AdjustmentRule ^ other);
public bool Equals (TimeZoneInfo.AdjustmentRule? other);
public bool Equals (TimeZoneInfo.AdjustmentRule other);
override this.Equals : TimeZoneInfo.AdjustmentRule -> bool
Public Function Equals (other As TimeZoneInfo.AdjustmentRule) As Boolean
Parametri
Oggetto da confrontare con l'oggetto corrente.
Restituisce
true
se entrambi gli oggetti TimeZoneInfo.AdjustmentRule hanno valori uguali. In caso contrario, false
.
Implementazioni
Esempio
Nell'esempio seguente viene chiamato il metodo per confrontare le regole di regolazione per l'ora TimeZoneInfo.AdjustmentRule.Equals(TimeZoneInfo+AdjustmentRule) standard centrale con quelle per l'ora standard del Canada centrale e del Messico.
string timeZoneName = "";
// Get CST, Canadian CST, and Mexican CST adjustment rules
TimeZoneInfo.AdjustmentRule[] usCstAdjustments = null;
TimeZoneInfo.AdjustmentRule[] canCstAdjustments = null;
TimeZoneInfo.AdjustmentRule[] mexCstAdjustments = null;
try
{
timeZoneName = "Central Standard Time";
usCstAdjustments = TimeZoneInfo.FindSystemTimeZoneById(timeZoneName).GetAdjustmentRules();
}
catch (TimeZoneNotFoundException)
{
Console.WriteLine("The {0} time zone is not defined in the registry.",
timeZoneName);
}
catch (InvalidTimeZoneException)
{
Console.WriteLine("Data for the {0} time zone is invalid.",
timeZoneName);
}
try
{
timeZoneName = "Canada Central Standard Time";
canCstAdjustments = TimeZoneInfo.FindSystemTimeZoneById(timeZoneName).GetAdjustmentRules();
}
catch (TimeZoneNotFoundException)
{
Console.WriteLine("The {0} time zone is not defined in the registry.",
timeZoneName);
}
catch (InvalidTimeZoneException)
{
Console.WriteLine("Data for the {0} time zone is invalid.",
timeZoneName);
}
try
{
timeZoneName = "Central Standard Time (Mexico)";
mexCstAdjustments = TimeZoneInfo.FindSystemTimeZoneById(timeZoneName).GetAdjustmentRules();
}
catch (TimeZoneNotFoundException)
{
Console.WriteLine("The {0} time zone is not defined in the registry.",
timeZoneName);
}
catch (InvalidTimeZoneException)
{
Console.WriteLine("Data for the {0} time zone is invalid.",
timeZoneName);
}
// Determine if CST and other time zones have the same rules
foreach(TimeZoneInfo.AdjustmentRule rule in usCstAdjustments)
{
Console.WriteLine("Comparing Central Standard Time rule for {0:d} to {1:d} with:",
rule.DateStart, rule.DateEnd);
// Compare with Canada Central Standard Time
if (canCstAdjustments.Length == 0)
{
Console.WriteLine(" Canada Central Standard Time has no adjustment rules.");
}
else
{
foreach (TimeZoneInfo.AdjustmentRule canRule in canCstAdjustments)
{
Console.WriteLine(" Canadian CST for {0:d} to {1:d}: {2}",
canRule.DateStart, canRule.DateEnd,
rule.Equals(canRule) ? "Equal" : "Not Equal");
}
}
// Compare with Mexico Central Standard Time
if (mexCstAdjustments.Length == 0)
{
Console.WriteLine(" Mexican Central Standard Time has no adjustment rules.");
}
else
{
foreach (TimeZoneInfo.AdjustmentRule mexRule in mexCstAdjustments)
{
Console.WriteLine(" Mexican CST for {0:d} to {1:d}: {2}",
mexRule.DateStart, mexRule.DateEnd,
rule.Equals(mexRule) ? "Equal" : "Not Equal");
}
}
}
// This code displays the following output to the console:
//
// Comparing Central Standard Time rule for 1/1/0001 to 12/31/9999 with:
// Canada Central Standard Time has no adjustment rules.
// Mexican CST for 1/1/0001 to 12/31/9999: Equal
// Get CST, Canadian CST, and Mexican CST adjustment rules
let usCstAdjustments =
let timeZoneName = "Central Standard Time"
try
TimeZoneInfo.FindSystemTimeZoneById(timeZoneName).GetAdjustmentRules()
with
| :? TimeZoneNotFoundException ->
printfn $"The {timeZoneName} time zone is not defined in the registry."
null
| :? InvalidTimeZoneException ->
printfn $"Data for the {timeZoneName} time zone is invalid."
null
let canCstAdjustments =
let timeZoneName = "Canada Central Standard Time"
try
TimeZoneInfo.FindSystemTimeZoneById(timeZoneName).GetAdjustmentRules()
with
| :? TimeZoneNotFoundException ->
printfn $"The {timeZoneName} time zone is not defined in the registry."
null
| :? InvalidTimeZoneException ->
printfn $"Data for the {timeZoneName} time zone is invalid."
null
let mexCstAdjustments =
let timeZoneName = "Central Standard Time (Mexico)"
try
TimeZoneInfo.FindSystemTimeZoneById(timeZoneName).GetAdjustmentRules()
with
| :? TimeZoneNotFoundException ->
printfn $"The {timeZoneName} time zone is not defined in the registry."
null
| :? InvalidTimeZoneException ->
printfn $"Data for the {timeZoneName} time zone is invalid."
null
// Determine if CST and other time zones have the same rules
for rule in usCstAdjustments do
printfn $"Comparing Central Standard Time rule for {rule.DateStart:d} to {rule.DateEnd:d} with:"
// Compare with Canada Central Standard Time
if canCstAdjustments.Length = 0 then
printfn " Canada Central Standard Time has no adjustment rules."
else
for canRule in canCstAdjustments do
printfn $""" Canadian CST for {canRule.DateStart:d} to {canRule.DateEnd:d}: {if rule.Equals canRule then "Equal" else "Not Equal"}"""
// Compare with Mexico Central Standard Time
if mexCstAdjustments.Length = 0 then
printfn " Mexican Central Standard Time has no adjustment rules."
else
for mexRule in mexCstAdjustments do
printfn $""" Mexican CST for {mexRule.DateStart:d} to {mexRule.DateEnd:d}: {if rule.Equals mexRule then "Equal" else "Not Equal"}"""
// This code displays the following output to the console:
//
// Comparing Central Standard Time rule for 1/1/0001 to 12/31/9999 with:
// Canada Central Standard Time has no adjustment rules.
// Mexican CST for 1/1/0001 to 12/31/9999: Equal
Dim timeZoneName As String = String.Empty
' Get CST, Canadian CST, and Mexican CST adjustment rules
Dim usCstAdjustments(), canCstAdjustments(), mexCstAdjustments() As TimeZoneInfo.AdjustmentRule
Try
timeZoneName = "Central Standard Time"
usCstAdjustments = TimeZoneInfo.FindSystemTimeZoneById(timeZoneName).GetAdjustmentRules
Catch e As TimeZoneNotFoundException
Console.WriteLine("The {0} time zone is not defined in the registry.", timeZoneName)
Catch e As InvalidTimeZoneException
Console.WriteLine("Data for the {0} time zone is invalid.", timeZoneName)
End Try
Try
timeZoneName = "Canada Central Standard Time"
canCstAdjustments = TimeZoneInfo.FindSystemTimeZoneById(timeZoneName).GetAdjustmentRules
Catch e As TimeZoneNotFoundException
Console.WriteLine("The {0} time zone is not defined in the registry.", timeZoneName)
Catch e As InvalidTimeZoneException
Console.WriteLine("Data for the {0} time zone is invalid.", timeZoneName)
End Try
Try
timeZoneName = "Central Standard Time (Mexico)"
mexCstAdjustments = TimeZoneInfo.FindSystemTimeZoneById(timeZoneName).GetAdjustmentRules
Catch e As TimeZoneNotFoundException
Console.WriteLine("The {0} time zone is not defined in the registry.", timeZoneName)
Catch e As InvalidTimeZoneException
Console.WriteLine("Data for the {0} time zone is invalid.", timeZoneName)
End Try
' Determine if CST and other time zones have the same rules
For Each rule As TimeZoneInfo.AdjustmentRule In usCstAdjustments
Console.WriteLine("Comparing Central Standard Time rule for {0:d} to {1:d} with:", _
rule.DateStart, rule.DateEnd)
' Compare with Canada Central Standard Time
If canCstAdjustments.Length = 0 Then
Console.WriteLine(" Canada Central Standard Time has no adjustment rules.")
Else
For Each canRule As TimeZoneInfo.AdjustmentRule In canCstAdjustments
Console.WriteLine(" Canadian CST for {0:d} to {1:d}: {2}", _
canRule.DateStart, canRule.DateEnd, _
IIf(rule.Equals(canRule), "Equal", "Not Equal"))
Next
End If
' Compare with Mexico Central Standard Time
If mexCstAdjustments.Length = 0 Then
Console.WriteLine(" Mexican Central Standard Time has no adjustment rules.")
Else
For Each mexRule As TimeZoneInfo.AdjustmentRule In mexCstAdjustments
Console.WriteLine(" Mexican CST for {0:d} to {1:d}: {2}", _
mexRule.DateStart, mexRule.DateEnd, _
IIf(rule.Equals(mexRule), "Equal", "Not Equal"))
Next
End If
Next
' This code displays the following output to the console:
'
' Comparing Central Standard Time rule for 1/1/0001 to 12/31/9999 with:
' Canada Central Standard Time has no adjustment rules.
' Mexican CST for 1/1/0001 to 12/31/9999: Equal
Questo codice visualizza l'output seguente nella console:
Comparing Central Standard Time rule for 1/1/0001 to 12/31/9999 with:
Canada Central Standard Time has no adjustment rules.
Mexican CST for 1/1/0001 to 12/31/9999: Equal
Commenti
Per determinare se due TimeZoneInfo.AdjustmentRule oggetti sono uguali, il Equals(TimeZoneInfo+AdjustmentRule) metodo confronta i valori membro di ogni oggetto. Due regole di regolazione sono uguali se hanno le stesse date effettive, lo stesso delta e valori identici per gli TimeZoneInfo.TransitionTime oggetti restituiti dalle relative DaylightTransitionStart proprietà e DaylightTransitionEnd .