Int16.Equals メソッド
定義
重要
一部の情報は、リリース前に大きく変更される可能性があるプレリリースされた製品に関するものです。 Microsoft は、ここに記載されている情報について、明示または黙示を問わず、一切保証しません。
対象のインスタンスが、指定したオブジェクトまたは Int16 に等しいかどうかを示す値を返します。
オーバーロード
Equals(Int16) |
このインスタンスが指定した Int16 値に等しいかどうかを示す値を返します。 |
Equals(Object) |
このインスタンスが指定されたオブジェクトに等しいかどうかを示す値を返します。 |
Equals(Int16)
このインスタンスが指定した Int16 値に等しいかどうかを示す値を返します。
public:
virtual bool Equals(short obj);
public bool Equals (short obj);
override this.Equals : int16 -> bool
Public Function Equals (obj As Short) As Boolean
パラメーター
戻り値
obj
の値がこのインスタンスと同じ場合は true
。それ以外の場合は false
。
実装
注釈
このメソッドは インターフェイスを実装し、パラメーターを オブジェクトに変換する必要がないので、 よりも少し System.IEquatable<T> Equals obj
優れたパフォーマンスを実現します。
注意 (呼び出し元)
コンパイラオーバーロードの解決は、2 つのメソッド オーバーロードの動作の明らかな違い Equals(Int16) を考慮する可能性があります。 引数と の間の暗黙的な変換が定義され、引数が として型指定されていない場合、コンパイラは暗黙的な変換を実行し obj
Int16 、 Object メソッドを呼び出 Equals(Int16) します。 それ以外の場合は、 メソッドを呼び出します。このメソッドは、引数が値でない場合 Equals(Object) false
obj
は常に を返 Int16 します。 次の例は、2 つのメソッド オーバーロードの動作の違いを示しています。 と の値の場合、コンパイラは拡大変換を自動的に実行し、 メソッドを呼び出すのに対し、2 番目の比較は メソッドを呼び出すので、最初の比較は を返します。 Byte SByte true
Equals(Int16) false
Equals(Object)
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
こちらもご覧ください
適用対象
Equals(Object)
このインスタンスが指定されたオブジェクトに等しいかどうかを示す値を返します。
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
このインスタンスと比較するオブジェクト。
戻り値
obj
が Int16 のインスタンスで、このインスタンスの値に等しい場合は true
。それ以外の場合は false
。
例
次のコード例は、 のコンテキストでの の使用を示しています。2 つの短い値を比較し、同じ数値を表す場合は を返します。そうではない場合は を Equals
Int16
true
false
返します。
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" );
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
注意 (呼び出し元)
コンパイラオーバーロードの解決は、2 つのメソッド オーバーロードの動作の明らかな違い Equals(Int16) を考慮する可能性があります。 引数と の間の暗黙的な変換が定義され、引数が として型指定されていない場合、コンパイラは暗黙的な変換を実行し obj
Int16 、 Object メソッドを呼び出 Equals(Int16) します。 それ以外の場合は、 メソッドを呼び出します。このメソッドは、引数が値でない場合 Equals(Object) false
obj
は常に を返 Int16 します。 次の例は、2 つのメソッド オーバーロードの動作の違いを示しています。 と の値の場合、コンパイラは拡大変換を自動的に実行し、 メソッドを呼び出すのに対し、2 番目の比較は メソッドを呼び出すので、最初の比較は を返します。 Byte SByte true
Equals(Int16) false
Equals(Object)
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