UInt16.Equals 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
回傳一個值,表示該實例是否等於指定物件或 UInt16。
多載
| 名稱 | Description |
|---|---|
| Equals(Object) |
傳回值,指出這個實例是否等於指定的物件。 |
| Equals(UInt16) |
回傳一個值,表示該實例是否等於指定 UInt16 值。 |
Equals(Object)
- 來源:
- UInt16.cs
- 來源:
- UInt16.cs
- 來源:
- UInt16.cs
- 來源:
- UInt16.cs
- 來源:
- UInt16.cs
傳回值,指出這個實例是否等於指定的物件。
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
一個可以和這個例子比較的物件。
傳回
true 若 obj 是 的 UInt16 一個實例,且 等於該實例的值;否則, false。
範例
以下範例示範此 Equals 方法。
UInt16 myVariable1 = 10;
UInt16 myVariable2 = 10;
//Display the declaring type.
Console.WriteLine("\nType of 'myVariable1' is '{0}' and" +
" value is :{1}", myVariable1.GetType(), myVariable1);
Console.WriteLine("Type of 'myVariable2' is '{0}' and" +
" value is :{1}", myVariable2.GetType(), myVariable2);
// Compare 'myVariable1' instance with 'myVariable2' Object.
if (myVariable1.Equals(myVariable2))
Console.WriteLine("\nStructures 'myVariable1' and " +
"'myVariable2' are equal");
else
Console.WriteLine("\nStructures 'myVariable1' and " +
"'myVariable2' are not equal");
let myVariable1 = 10us
let myVariable2 = 10us
//Display the declaring type.
printfn $"\nType of 'myVariable1' is '{myVariable1.GetType()}' and value is :{myVariable1}"
printfn $"Type of 'myVariable2' is '{myVariable2.GetType()}' and value is :{myVariable2}"
// Compare 'myVariable1' instance with 'myVariable2' Object.
if myVariable1.Equals myVariable2 then
printfn $"\nStructures 'myVariable1' and 'myVariable2' are equal"
else
printfn $"\nStructures 'myVariable1' and 'myVariable2' are not equal"
Dim myVariable1 As UInt16 = UInt16.Parse(10)
Dim myVariable2 As UInt16 = UInt16.Parse(10)
' Display the declaring type.
Console.WriteLine(ControlChars.NewLine + "Type of 'myVariable1' is '{0}' and" + _
" value is :{1}", myVariable1.GetType().ToString(), myVariable1.ToString())
Console.WriteLine("Type of 'myVariable2' is '{0}' and" + _
" value is :{1}" , myVariable2.GetType().ToString(), myVariable2.ToString())
' Compare 'myVariable1' instance with 'myVariable2' Object.
If myVariable1.Equals(myVariable2) Then
Console.WriteLine(ControlChars.NewLine + "Structures 'myVariable1' and" + _
" 'myVariable2' are equal")
Else
Console.WriteLine(ControlChars.NewLine + "Structures 'myVariable1' and" + _
" 'myVariable2' are not equal")
End If
給呼叫者的注意事項
編譯器過載解析可能解釋兩種 Equals(UInt16) 方法過載行為上的表面差異。 如果定義了參數與 a obj 之間的UInt16隱式轉換,且參數未被指定為 Object,編譯器會執行隱式轉換並呼叫該Equals(UInt16)方法。 否則,他們會呼叫 該Equals(Object)方法,且當其false參數不是obj值時,該方法總是回傳UInt16。 以下範例說明兩種方法過載行為的差異。 對於一個 Byte 值,第一次比較回傳 true 是因為編譯器會自動執行擴大轉換並呼叫該 Equals(UInt16) 方法;而第二次比較則回傳 false 是因為編譯器呼叫該 Equals(Object) 方法。
using System;
public class Example
{
static ushort value = 112;
public static void Main()
{
byte byte1= 112;
Console.WriteLine("value = byte1: {0,16}", value.Equals(byte1));
TestObjectForEquality(byte1);
short short1 = 112;
Console.WriteLine("value = short1: {0,17}", value.Equals(short1));
TestObjectForEquality(short1);
int int1 = 112;
Console.WriteLine("value = int1: {0,19}", value.Equals(int1));
TestObjectForEquality(int1);
sbyte sbyte1 = 112;
Console.WriteLine("value = sbyte1: {0,17}", value.Equals(sbyte1));
TestObjectForEquality(sbyte1);
decimal dec1 = 112m;
Console.WriteLine("value = dec1: {0,21}", value.Equals(dec1));
TestObjectForEquality(dec1);
double dbl1 = 112;
Console.WriteLine("value = dbl1: {0,20}", value.Equals(dbl1));
TestObjectForEquality(dbl1);
}
private static void TestObjectForEquality(Object obj)
{
Console.WriteLine("{0} ({1}) = {2} ({3}): {4}\n",
value, value.GetType().Name,
obj, obj.GetType().Name,
value.Equals(obj));
}
}
// The example displays the following output:
// value = byte1: True
// 112 (UInt16) = 112 (Byte): False
//
// value = short1: False
// 112 (UInt16) = 112 (Int16): False
//
// value = int1: False
// 112 (UInt16) = 112 (Int32): False
//
// value = sbyte1: False
// 112 (UInt16) = 112 (SByte): False
//
// value = dec1: False
// 112 (UInt16) = 112 (Decimal): False
//
// value = dbl1: False
// 112 (UInt16) = 112 (Double): False
let value = 112us
let testObjectForEquality (obj: obj) =
printfn $"{value} ({value.GetType().Name}) = {obj} ({obj.GetType().Name}): {value.Equals obj}\n"
let byte1= 112uy
printfn $"value = byte1: {value.Equals byte1,16}"
testObjectForEquality byte1
let short1 = 112s
printfn $"value = short1: {value.Equals short1,17}"
testObjectForEquality short1
let int1 = 112
printfn $"value = int1: {value.Equals int1,19}"
testObjectForEquality int1
let sbyte1 = 112y
printfn $"value = sbyte1: {value.Equals sbyte1,17}"
testObjectForEquality sbyte1
let dec1 = 112m
printfn $"value = dec1: {value.Equals dec1,21}"
testObjectForEquality dec1
let dbl1 = 112.
printfn $"value = dbl1: {value.Equals dbl1,20}"
testObjectForEquality dbl1
// The example displays the following output:
// value = byte1: True
// 112 (UInt16) = 112 (Byte): False
//
// value = short1: False
// 112 (UInt16) = 112 (Int16): False
//
// value = int1: False
// 112 (UInt16) = 112 (Int32): False
//
// value = sbyte1: False
// 112 (UInt16) = 112 (SByte): False
//
// value = dec1: False
// 112 (UInt16) = 112 (Decimal): False
//
// value = dbl1: False
// 112 (UInt16) = 112 (Double): False
Module Example
Dim value As UInt16 = 112
Public Sub Main()
Dim byte1 As Byte = 112
Console.WriteLine("value = byte1: {0,16}", value.Equals(byte1))
TestObjectForEquality(byte1)
Dim short1 As Short = 112
Console.WriteLine("value = short1: {0,17}", value.Equals(short1))
TestObjectForEquality(short1)
Dim int1 As Integer = 112
Console.WriteLine("value = int1: {0,19}", value.Equals(int1))
TestObjectForEquality(int1)
Dim sbyte1 As SByte = 112
Console.WriteLine("value = sbyte1: {0,17}", value.Equals(sbyte1))
TestObjectForEquality(sbyte1)
Dim dec1 As Decimal = 112d
Console.WriteLine("value = dec1: {0,21}", value.Equals(dec1))
TestObjectForEquality(dec1)
Dim dbl1 As Double = 112
Console.WriteLine("value = dbl1: {0,20}", value.Equals(dbl1))
TestObjectForEquality(dbl1)
End Sub
Private Sub TestObjectForEquality(obj As Object)
Console.WriteLine("{0} ({1}) = {2} ({3}): {4}",
value, value.GetType().Name,
obj, obj.GetType().Name,
value.Equals(obj))
Console.WriteLine()
End Sub
End Module
' The example displays the following output:
' value = byte1: True
' 112 (UInt16) = 112 (Byte): False
'
' value = short1: False
' 112 (UInt16) = 112 (Int16): False
'
' value = int1: False
' 112 (UInt16) = 112 (Int32): False
'
' value = sbyte1: False
' 112 (UInt16) = 112 (SByte): False
'
' value = dec1: False
' 112 (UInt16) = 112 (Decimal): False
'
' value = dbl1: False
' 112 (UInt16) = 112 (Double): False
適用於
Equals(UInt16)
- 來源:
- UInt16.cs
- 來源:
- UInt16.cs
- 來源:
- UInt16.cs
- 來源:
- UInt16.cs
- 來源:
- UInt16.cs
回傳一個值,表示該實例是否等於指定 UInt16 值。
public:
virtual bool Equals(System::UInt16 obj);
public bool Equals(ushort obj);
override this.Equals : uint16 -> bool
Public Function Equals (obj As UShort) As Boolean
參數
- obj
- UInt16
用一個 16 位元無符號整數來比較這個實例。
傳回
true若與obj此實例值相同;否則,。 false
實作
備註
此方法實 System.IEquatable<T> 作了介面,且表現略優 Equals 於 ,因為它不必將參數轉換 obj 成物件。
給呼叫者的注意事項
編譯器過載解析可能解釋兩種 Equals(UInt16) 方法過載行為上的表面差異。 如果定義了參數與 a obj 之間的UInt16隱式轉換,且參數未被指定為 Object,編譯器會執行隱式轉換並呼叫該Equals(UInt16)方法。 否則,他們會呼叫 該Equals(Object)方法,且當其false參數不是obj值時,該方法總是回傳UInt16。 以下範例說明兩種方法過載行為的差異。 對於一個 Byte 值,第一次比較回傳 true 是因為編譯器會自動執行擴大轉換並呼叫該 Equals(UInt16) 方法;而第二次比較則回傳 false 是因為編譯器呼叫該 Equals(Object) 方法。
using System;
public class Example
{
static ushort value = 112;
public static void Main()
{
byte byte1= 112;
Console.WriteLine("value = byte1: {0,16}", value.Equals(byte1));
TestObjectForEquality(byte1);
short short1 = 112;
Console.WriteLine("value = short1: {0,17}", value.Equals(short1));
TestObjectForEquality(short1);
int int1 = 112;
Console.WriteLine("value = int1: {0,19}", value.Equals(int1));
TestObjectForEquality(int1);
sbyte sbyte1 = 112;
Console.WriteLine("value = sbyte1: {0,17}", value.Equals(sbyte1));
TestObjectForEquality(sbyte1);
decimal dec1 = 112m;
Console.WriteLine("value = dec1: {0,21}", value.Equals(dec1));
TestObjectForEquality(dec1);
double dbl1 = 112;
Console.WriteLine("value = dbl1: {0,20}", value.Equals(dbl1));
TestObjectForEquality(dbl1);
}
private static void TestObjectForEquality(Object obj)
{
Console.WriteLine("{0} ({1}) = {2} ({3}): {4}\n",
value, value.GetType().Name,
obj, obj.GetType().Name,
value.Equals(obj));
}
}
// The example displays the following output:
// value = byte1: True
// 112 (UInt16) = 112 (Byte): False
//
// value = short1: False
// 112 (UInt16) = 112 (Int16): False
//
// value = int1: False
// 112 (UInt16) = 112 (Int32): False
//
// value = sbyte1: False
// 112 (UInt16) = 112 (SByte): False
//
// value = dec1: False
// 112 (UInt16) = 112 (Decimal): False
//
// value = dbl1: False
// 112 (UInt16) = 112 (Double): False
let value = 112us
let testObjectForEquality (obj: obj) =
printfn $"{value} ({value.GetType().Name}) = {obj} ({obj.GetType().Name}): {value.Equals obj}\n"
let byte1= 112uy
printfn $"value = byte1: {value.Equals byte1,16}"
testObjectForEquality byte1
let short1 = 112s
printfn $"value = short1: {value.Equals short1,17}"
testObjectForEquality short1
let int1 = 112
printfn $"value = int1: {value.Equals int1,19}"
testObjectForEquality int1
let sbyte1 = 112y
printfn $"value = sbyte1: {value.Equals sbyte1,17}"
testObjectForEquality sbyte1
let dec1 = 112m
printfn $"value = dec1: {value.Equals dec1,21}"
testObjectForEquality dec1
let dbl1 = 112.
printfn $"value = dbl1: {value.Equals dbl1,20}"
testObjectForEquality dbl1
// The example displays the following output:
// value = byte1: True
// 112 (UInt16) = 112 (Byte): False
//
// value = short1: False
// 112 (UInt16) = 112 (Int16): False
//
// value = int1: False
// 112 (UInt16) = 112 (Int32): False
//
// value = sbyte1: False
// 112 (UInt16) = 112 (SByte): False
//
// value = dec1: False
// 112 (UInt16) = 112 (Decimal): False
//
// value = dbl1: False
// 112 (UInt16) = 112 (Double): False
Module Example
Dim value As UInt16 = 112
Public Sub Main()
Dim byte1 As Byte = 112
Console.WriteLine("value = byte1: {0,16}", value.Equals(byte1))
TestObjectForEquality(byte1)
Dim short1 As Short = 112
Console.WriteLine("value = short1: {0,17}", value.Equals(short1))
TestObjectForEquality(short1)
Dim int1 As Integer = 112
Console.WriteLine("value = int1: {0,19}", value.Equals(int1))
TestObjectForEquality(int1)
Dim sbyte1 As SByte = 112
Console.WriteLine("value = sbyte1: {0,17}", value.Equals(sbyte1))
TestObjectForEquality(sbyte1)
Dim dec1 As Decimal = 112d
Console.WriteLine("value = dec1: {0,21}", value.Equals(dec1))
TestObjectForEquality(dec1)
Dim dbl1 As Double = 112
Console.WriteLine("value = dbl1: {0,20}", value.Equals(dbl1))
TestObjectForEquality(dbl1)
End Sub
Private Sub TestObjectForEquality(obj As Object)
Console.WriteLine("{0} ({1}) = {2} ({3}): {4}",
value, value.GetType().Name,
obj, obj.GetType().Name,
value.Equals(obj))
Console.WriteLine()
End Sub
End Module
' The example displays the following output:
' value = byte1: True
' 112 (UInt16) = 112 (Byte): False
'
' value = short1: False
' 112 (UInt16) = 112 (Int16): False
'
' value = int1: False
' 112 (UInt16) = 112 (Int32): False
'
' value = sbyte1: False
' 112 (UInt16) = 112 (SByte): False
'
' value = dec1: False
' 112 (UInt16) = 112 (Decimal): False
'
' value = dbl1: False
' 112 (UInt16) = 112 (Double): False