Object.ReferenceEquals()方法用於確定指定的Object實例是否為同一實例。此方法不能被覆蓋。因此,如果用戶要測試兩個對象引用是否相等,並且不確定是否要執行Equals方法,則可以調用ReferenceEquals方法。
用法: public static bool ReferenceEquals (object ob1, object ob2);
參數:
ob1:這是要比較的第一個對象。
ob2:這是要比較的第二個對象。
返回值:如果ob1與ob2是相同的實例,則此方法返回true,否則,如果兩者均為null,則返回false。
以下示例程序旨在說明Object.ReferenceEquals()方法的使用:
示例1:
// C# program to demonstrate the
// Object.ReferenceEquals(object)
// Method
using System;
using System.Globalization;
class GFG {
// Main Method
public static void Main()
{
// Declaring and initializing value1
object v1 = null;
// Declaring and initializing value2
object v2 = null;
// using ReferenceEquals(object,
// object) method
bool status = Object.ReferenceEquals(v1, v2);
// checking the status
if (status)
Console.WriteLine("null is equal to null");
else
Console.WriteLine("null is not equal to null");
}
}
輸出:
null is equal to null
示例2:
// C# program to demonstrate the
// Object.ReferenceEquals(Object, Object)
// Method
using System;
using System.Globalization;
class GFG {
// Main Method
public static void Main()
{
object p = new Object();
object q = null;
// calling get() method
get(p, null);
// assigning p to q
q = p;
get(p, q);
get(q, null);
}
// defining get() method
public static void get(object v1,
object v2)
{
// using ReferenceEquals(Object) method
bool status = Object.ReferenceEquals(v1, v2);
// checking the status
if (status)
Console.WriteLine("{0} is equal to {1}",
v1, v2);
else
Console.WriteLine("{0} is not equal to {1}",
v1, v2);
}
}
輸出:
System.Object is not equal to System.Object is equal to System.Object System.Object is not equal to
注意:在這裏,null永遠不會輸出到輸出中。
重要事項:
- 如果ob1和ob2都代表值類型的相同實例,則此方法仍然返回false。
- 如果ob1和ob2是字符串,則在字符串為interned的情況下此方法將返回true,因為此方法將永遠不會執行值相等性測試。
參考:
相關用法
- C# DateTimeOffset.Add()用法及代碼示例
- C# String.Contains()用法及代碼示例
- C# Math.Sin()用法及代碼示例
- C# Math.Cos()用法及代碼示例
- C# Dictionary.Add()用法及代碼示例
- C# Math.Tan()用法及代碼示例
- C# Math.Abs()方法用法及代碼示例
- C# Math.Exp()用法及代碼示例
- C# Math.Abs()函數用法及代碼示例
注:本文由純淨天空篩選整理自RohitPrasad3大神的英文原創作品 Object.ReferenceEquals() Method in C#。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。