Описание тега referenceequals

ReferenceEquals is a method in C# used to compare references of object types. By default this is the way objects are compared in most OOP programming languages.
1 ответ

Является ли ключевое слово VB.NET 'Is' таким же, как Object.ReferenceEquals?

Это Is Ключевое слово VB.NET такое же, как Object.ReferenceEquals?
13 апр '10 в 00:05
5 ответов

ReferenceEquals работает неправильно со строками

Почему в этой ситуации ReferenceEquals метод объекта ведет себя иначе? string a= "fg"; string b= "fg"; Console.WriteLine(object.ReferenceEquals(a, b)); Так что в этой ситуации получается результат true, В случае, он сравнивает значения моих строк, а…
02 фев '12 в 12:50
3 ответа

IEqualityComparer<T>, который использует ReferenceEquals

Есть ли дефолт IEqualityComparer&lt;T&gt; реализация, которая использует ReferenceEquals? EqualityComparer&lt;T&gt;.Default использует ObjectComparer, который использует object.Equals(), В моем случае объекты уже реализованы IEquatable&lt;T&gt;, кот…
11 дек '09 в 18:40
13 ответов

Разница между нулевой и пустой ("") строкой Java

В чем разница между null и "" (пустой строки)? Я написал простой код: String a = ""; String b = null; System.out.println(a == b); // false System.out.println(a.equals(b)); // false Оба утверждения возвращаются false, Кажется, я не могу найти, какова…
26 янв '11 в 06:51
6 ответов

Как использование оператора == повышает производительность по сравнению с аналогами?

В книге "Эффективная JAVA" Джошуа Блоха, когда я читал о статических фабричных методах, было следующее утверждение Способность статических фабричных методов возвращать один и тот же объект из повторяющихся вызовов позволяет классам в любой момент по…
17 ноя '13 в 05:16
1 ответ

Переопределение метода.equals() (== вернул true при сравнении строк)!

public class Employee { private String firstName; private String lastName; private int age; public Employee(String firstName, String lastName, int age) { super(); this.firstName = firstName; this.lastName = lastName; this.age = age; } public boolean…
18 янв '15 в 14:20
2 ответа

Зачем мне когда-либо хотеть сделать object.ReferenceEquals(null, this) в переопределении Equals?

Рассмотрим следующий код, который я просматривал: public override bool Equals(object other) { return !object.ReferenceEquals(null, this) &amp;&amp; (object.ReferenceEquals(this, other) || ((other is MyType) &amp;&amp; this.InternalEquals((MyType)oth…
30 янв '13 в 21:02
2 ответа

Когда в OCaml создаются физически разные значения?

Я пытаюсь понять, что такое операторы физического равенства (Pervasives.(==) а также Pervasives.(!=)) значит в OCaml. Руководство по языку говорит, что выражение "" является "константой", а не "выражением": 6.5 Константы константа::== ... строковый …
05 авг '12 в 22:07
1 ответ

Как проверить равенство в штучной упаковке объектов типов значений, когда типы разные, но совместимы для сравнения значений

Когда мы помечаем два типа значений (которые являются различными типами, но совместимы для сравнения значений, например: int и short) и пытаемся вызвать метод Equals, который дает false, даже если значения одинаковы. Случай 1: int a = 5; short b = 5…
08 авг '17 в 04:35
3 ответа

Оператор ==, метод Equal и Object.ReferenceEqual в C#

Сегодня я читал об операторе ==, функции Equal и методе Object.ReferenceEqual. Оператор == Используется для проверки равных ссылок. Равный метод - используется для проверки равных значений. Object.ReferencEqual - используется для проверки равных ссы…
2 ответа

Ссылочное равенство для java.lang.String в Scala

Можно было бы ожидать, что даже если строки неизменны, равенство значений и равенство ссылок не будут одинаковыми для объектов java.lang.String в Scala. Это означает, что две строки держат vals не должны быть равными ссылкам, даже если их строки иде…
09 апр '12 в 10:50
3 ответа

Что означает эта перегрузка?

Может кто-нибудь объяснить мне, что означает эта перегрузка? public static bool operator ==(Shop lhs, Shop rhs) { if (Object.ReferenceEquals(lhs, null)) { if (Object.ReferenceEquals(rhs, null)) { return true; } return false; } return lhs.Equals(rhs)…
12 янв '16 в 06:03
2 ответа

Является ли этот способ использования ReferenceEquals правильным

Я делаю некоторый обзор кода, и я остановился на следующей конструкции. Правильный ли это способ использования ReferenceEquals проверить, возвращает ли метод фактически тот же объект, который был передан в качестве аргумента, или новый? int x = 5; F…
21 мар '17 в 22:31
3 ответа

В `equals(T value)`, T должен быть Object, или это может быть как City и т. Д.?

Я пытаюсь понять equals() метод лучше. Все примеры, которые я видел, делают что-то вроде: public class City { public boolean equals(Object other) { if (other instanceof City &amp;&amp; other.getId().equals(this.id)) { return true; } // ... } } Долже…
17 июл '10 в 16:31
3 ответа

Сбор с использованием ссылочного равенства

На Яве можно создать HashMap который использует ссылочное равенство вместо equals() метод?
01 апр '14 в 10:22
0 ответов

Проблема со сравнением строк ReferenceEquals в Mono

Я создаю объект Uri в Mono (в системе Unix), это очень просто (как в VStudio/Windows): новый Uri (" http://my.url_here.com/"). Затем я создаю другой системный объект, который использует Uri: HttpSelfHostConfiguration(). В исходном коде HttpSelfHostC…
24 сен '13 в 09:46
4 ответа

В чем разница между a==b и a.Equals(b) в контексте значений и ссылочных типов?

Я сталкивался с этим вопросом довольно много раз, и хотя ответы на него имеют смысл, я хотел сам проверить это с помощью простого консольного приложения. class Program { static void Main(string[] args) { // Case 1 : FOR REFERENCE TYPES where class b…
07 дек '10 в 21:39
2 ответа

Object.Equals является виртуальным, но Object.operator== не использует его в C#?

Меня поразила странная "асимметрия" в C#, которую я не очень понимаю. Смотрите следующий код: using System; using System.Diagnostics; namespace EqualsExperiment { class Program { static void Main(string[] args) { object apple = "apple"; object orang…
16 сен '10 в 10:16
2 ответа

Как использовать Object.GetHashCode() для типа, который переопределяет GetHashCode ()

У меня есть класс A, который реализует IEquatable<>, используя его поля (скажем, Ab и Ac) для реализации / переопределения Equals() и переопределения GetHashCode(), и все работает отлично, 99% времени. Класс A является частью иерархии (класс B, C), …
8 ответов

Почему метод equals(), когда у нас есть оператор ==?

Когда я вижу реализацию equals() метод это ничего не делает, но то же самое, что == делает. Итак, мой вопрос заключается в том, что было необходимо иметь это в качестве отдельного метода, когда мы имеем == оператор, который делает то же самое?
05 май '10 в 11:34