Метод ReferenceEquals
Статический метод ReferenceEquals класса
Object сравнивает ссылки, а не
содержимое. Он возвращает true,
если оба аргумента ссылаются на один объект
или оба равны null.
Синтаксис
Object.ReferenceEquals(a, b)
Пример
Давайте сравним две ссылки на один объект:
using System;
class Program
{
static void Main()
{
object a = "abcde";
object b = a;
Console.WriteLine(ReferenceEquals(a, b));
}
}
Результат выполнения кода:
True
Пример
Давайте сравним два разных экземпляра класса:
using System;
class Box { }
class Program
{
static void Main()
{
var a = new Box();
var b = new Box();
Console.WriteLine(ReferenceEquals(a, b));
}
}
Результат выполнения кода:
False
Пример
Давайте сравним две одинаковые строки-литералы:
using System;
class Program
{
static void Main()
{
string a = "abcde";
string b = "abcde";
Console.WriteLine(ReferenceEquals(a, b));
}
}
Результат выполнения кода:
True
Пример
Давайте проверим две независимые ссылки на null:
using System;
class Program
{
static void Main()
{
object a = null;
object b = null;
Console.WriteLine(ReferenceEquals(a, b));
}
}
Результат выполнения кода:
True