Int16.Equals Metod
Definition
Viktigt
En del information gäller för förhandsversionen av en produkt och kan komma att ändras avsevärt innan produkten blir allmänt tillgänglig. Microsoft lämnar inga garantier, uttryckliga eller underförstådda, avseende informationen som visas här.
Returnerar ett värde som anger om den här instansen är lika med ett angivet objekt eller Int16.
Överlagringar
| Name | Description |
|---|---|
| Equals(Int16) |
Returnerar ett värde som anger om den här instansen är lika med ett angivet Int16 värde. |
| Equals(Object) |
Returnerar ett värde som anger om den här instansen är lika med ett angivet objekt. |
Equals(Int16)
- Källa:
- Int16.cs
- Källa:
- Int16.cs
- Källa:
- Int16.cs
- Källa:
- Int16.cs
- Källa:
- Int16.cs
Returnerar ett värde som anger om den här instansen är lika med ett angivet Int16 värde.
public:
virtual bool Equals(short obj);
public bool Equals(short obj);
override this.Equals : int16 -> bool
Public Function Equals (obj As Short) As Boolean
Parametrar
Returer
trueom obj har samma värde som den här instansen, annars . false
Implementeringar
Kommentarer
Den här metoden implementerar System.IEquatable<T> gränssnittet och presterar något bättre än Equals eftersom den inte behöver konvertera parametern obj till ett objekt.
Anteckningar till anropare
Kompilatorns överlagringsmatchning kan utgöra en uppenbar skillnad i beteendet för de två Equals(Int16) metodöverlagringarna. Om en implicit konvertering mellan obj argumentet och en Int16 definieras och argumentet inte skrivs som en Object, utför kompilatorerna en implicit konvertering och anropar Equals(Int16) metoden. Annars anropar Equals(Object) de metoden, som alltid returnerar false om argumentet obj inte är ett Int16 värde. I följande exempel visas skillnaden i beteende mellan de två metodöverlagringarna. När det gäller Byte värdena och SByte returneras true den första jämförelsen eftersom kompilatorn automatiskt utför en bredare konvertering och anropar Equals(Int16) metoden, medan den andra jämförelsen returneras false eftersom kompilatorn anropar Equals(Object) metoden.
using System;
public class Example
{
static short value = 112;
public static void Main()
{
byte byte1= 112;
Console.WriteLine("value = byte1: {0,15}", value.Equals(byte1));
TestObjectForEquality(byte1);
int int1 = 112;
Console.WriteLine("value = int1: {0,17}", value.Equals(int1));
TestObjectForEquality(int1);
sbyte sbyte1 = 112;
Console.WriteLine("value = sbyte1: {0,15}", value.Equals(sbyte1));
TestObjectForEquality(sbyte1);
ushort ushort1 = 112;
Console.WriteLine("value = ushort1: {0,15}", value.Equals(ushort1));
TestObjectForEquality(ushort1);
decimal dec1 = 112m;
Console.WriteLine("value = dec1: {0,20}", value.Equals(dec1));
TestObjectForEquality(dec1);
double dbl1 = 112;
Console.WriteLine("value = dbl1: {0,19}", 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 (Int16) = 112 (Byte): False
//
// value = int1: False
// 112 (Int16) = 112 (Int32): False
//
// value = sbyte1: True
// 112 (Int16) = 112 (SByte): False
//
// value = ushort1: False
// 112 (Int16) = 112 (UInt16): False
//
// value = dec1: False
// 112 (Int16) = 112 (Decimal): False
//
// value = dbl1: False
// 112 (Int16) = 112 (Double): False
let value = 112s
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(int16 byte1),15}"
testObjectForEquality byte1
let int1 = 112
printfn $"value = int1: {value.Equals(int16 int1),17}"
testObjectForEquality int1
let sbyte1 = 112uy
printfn $"value = sbyte1: {value.Equals(int16 sbyte1),15}"
testObjectForEquality sbyte1
let ushort1 = 112us
printfn $"value = ushort1: {value.Equals(int16 ushort1),15}"
testObjectForEquality ushort1
let dec1 = 112M
printfn $"value = dec1: {value.Equals dec1,20}"
testObjectForEquality dec1
let dbl1 = 112.0
printfn $"value = dbl1: {value.Equals dbl1,19}"
testObjectForEquality dbl1
// The example displays the following output:
// value = byte1: True
// 112 (Int16) = 112 (Byte): False
//
// value = int1: False
// 112 (Int16) = 112 (Int32): False
//
// value = sbyte1: True
// 112 (Int16) = 112 (SByte): False
//
// value = ushort1: False
// 112 (Int16) = 112 (UInt16): False
//
// value = dec1: False
// 112 (Int16) = 112 (Decimal): False
//
// value = dbl1: False
// 112 (Int16) = 112 (Double): False
Module Example
Dim value As Int16 = 112
Public Sub Main()
Dim byte1 As Byte = 112
Console.WriteLine("value = byte1: {0,15}", value.Equals(byte1))
TestObjectForEquality(byte1)
Dim int1 As Integer = 112
Console.WriteLine("value = int1: {0,17}", value.Equals(int1))
TestObjectForEquality(int1)
Dim sbyte1 As SByte = 112
Console.WriteLine("value = sbyte1: {0,15}", value.Equals(sbyte1))
TestObjectForEquality(sbyte1)
Dim ushort1 As UShort = 112
Console.WriteLine("value = ushort1: {0,16}", value.Equals(ushort1))
TestObjectForEquality(ushort1)
Dim dec1 As Decimal = 112d
Console.WriteLine("value = dec1: {0,20}", value.Equals(dec1))
TestObjectForEquality(dec1)
Dim dbl1 As Double = 112
Console.WriteLine("value = dbl1: {0,19}", 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 (Int16) = 112 (Byte): False
'
' value = int1: False
' 112 (Int16) = 112 (Int32): False
'
' value = sbyte1: True
' 112 (Int16) = 112 (SByte): False
'
' value = ushort1: False
' 112 (Int16) = 112 (UInt16): False
'
' value = dec1: False
' 112 (Int16) = 112 (Decimal): False
'
' value = dbl1: False
' 112 (Int16) = 112 (Double): False
Se även
Gäller för
Equals(Object)
- Källa:
- Int16.cs
- Källa:
- Int16.cs
- Källa:
- Int16.cs
- Källa:
- Int16.cs
- Källa:
- Int16.cs
Returnerar ett värde som anger om den här instansen är lika med ett angivet objekt.
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
Parametrar
- obj
- Object
Ett objekt som ska jämföras med den här instansen.
Returer
trueom obj är en instans av Int16 och är lika med värdet för den här instansen, annars . false
Exempel
Följande kodexempel illustrerar användningen av EqualsInt16i kontexten , jämför två korta värden och returnerar true om de representerar samma tal, eller false om de inte gör det.
Int16 myVariable1 = 20;
Int16 myVariable2 = 20;
// Get and 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 = 20s
let myVariable2 = 20s
// Get and display the declaring type.
printfn $"\nType of 'myVariable1' is '{myVariable1.GetType()}' and value is: {myVariable1}"
printfn $"\nType of 'myVariable1' 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 Int16 = 20
Dim myVariable2 As Int16 = 20
' Get and 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
Anteckningar till anropare
Kompilatorns överlagringsmatchning kan utgöra en uppenbar skillnad i beteendet för de två Equals(Int16) metodöverlagringarna. Om en implicit konvertering mellan obj argumentet och en Int16 definieras och argumentet inte skrivs som en Object, utför kompilatorerna en implicit konvertering och anropar Equals(Int16) metoden. Annars anropar Equals(Object) de metoden, som alltid returnerar false om argumentet obj inte är ett Int16 värde. I följande exempel visas skillnaden i beteende mellan de två metodöverlagringarna. När det gäller Byte värdena och SByte returneras true den första jämförelsen eftersom kompilatorn automatiskt utför en bredare konvertering och anropar Equals(Int16) metoden, medan den andra jämförelsen returneras false eftersom kompilatorn anropar Equals(Object) metoden.
using System;
public class Example
{
static short value = 112;
public static void Main()
{
byte byte1= 112;
Console.WriteLine("value = byte1: {0,15}", value.Equals(byte1));
TestObjectForEquality(byte1);
int int1 = 112;
Console.WriteLine("value = int1: {0,17}", value.Equals(int1));
TestObjectForEquality(int1);
sbyte sbyte1 = 112;
Console.WriteLine("value = sbyte1: {0,15}", value.Equals(sbyte1));
TestObjectForEquality(sbyte1);
ushort ushort1 = 112;
Console.WriteLine("value = ushort1: {0,15}", value.Equals(ushort1));
TestObjectForEquality(ushort1);
decimal dec1 = 112m;
Console.WriteLine("value = dec1: {0,20}", value.Equals(dec1));
TestObjectForEquality(dec1);
double dbl1 = 112;
Console.WriteLine("value = dbl1: {0,19}", 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 (Int16) = 112 (Byte): False
//
// value = int1: False
// 112 (Int16) = 112 (Int32): False
//
// value = sbyte1: True
// 112 (Int16) = 112 (SByte): False
//
// value = ushort1: False
// 112 (Int16) = 112 (UInt16): False
//
// value = dec1: False
// 112 (Int16) = 112 (Decimal): False
//
// value = dbl1: False
// 112 (Int16) = 112 (Double): False
let value = 112s
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(int16 byte1),15}"
testObjectForEquality byte1
let int1 = 112
printfn $"value = int1: {value.Equals(int16 int1),17}"
testObjectForEquality int1
let sbyte1 = 112uy
printfn $"value = sbyte1: {value.Equals(int16 sbyte1),15}"
testObjectForEquality sbyte1
let ushort1 = 112us
printfn $"value = ushort1: {value.Equals(int16 ushort1),15}"
testObjectForEquality ushort1
let dec1 = 112M
printfn $"value = dec1: {value.Equals dec1,20}"
testObjectForEquality dec1
let dbl1 = 112.0
printfn $"value = dbl1: {value.Equals dbl1,19}"
testObjectForEquality dbl1
// The example displays the following output:
// value = byte1: True
// 112 (Int16) = 112 (Byte): False
//
// value = int1: False
// 112 (Int16) = 112 (Int32): False
//
// value = sbyte1: True
// 112 (Int16) = 112 (SByte): False
//
// value = ushort1: False
// 112 (Int16) = 112 (UInt16): False
//
// value = dec1: False
// 112 (Int16) = 112 (Decimal): False
//
// value = dbl1: False
// 112 (Int16) = 112 (Double): False
Module Example
Dim value As Int16 = 112
Public Sub Main()
Dim byte1 As Byte = 112
Console.WriteLine("value = byte1: {0,15}", value.Equals(byte1))
TestObjectForEquality(byte1)
Dim int1 As Integer = 112
Console.WriteLine("value = int1: {0,17}", value.Equals(int1))
TestObjectForEquality(int1)
Dim sbyte1 As SByte = 112
Console.WriteLine("value = sbyte1: {0,15}", value.Equals(sbyte1))
TestObjectForEquality(sbyte1)
Dim ushort1 As UShort = 112
Console.WriteLine("value = ushort1: {0,16}", value.Equals(ushort1))
TestObjectForEquality(ushort1)
Dim dec1 As Decimal = 112d
Console.WriteLine("value = dec1: {0,20}", value.Equals(dec1))
TestObjectForEquality(dec1)
Dim dbl1 As Double = 112
Console.WriteLine("value = dbl1: {0,19}", 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 (Int16) = 112 (Byte): False
'
' value = int1: False
' 112 (Int16) = 112 (Int32): False
'
' value = sbyte1: True
' 112 (Int16) = 112 (SByte): False
'
' value = ushort1: False
' 112 (Int16) = 112 (UInt16): False
'
' value = dec1: False
' 112 (Int16) = 112 (Decimal): False
'
' value = dbl1: False
' 112 (Int16) = 112 (Double): False