Note that there are some explanatory texts on larger screens.

plurals
  1. POValue vs Reference
    primarykey
    data
    text
    <p>What decision should I take about Equals(), ReferenceEquals(), and == from the following results? What do they produce actually?</p> <pre><code>#region int integer = 1; int integer2 = integer; bool referenceEquality = (integer == integer2);//true bool valueEquality = integer.Equals(integer2);//true bool valueEqualityMore = object.Equals(integer, integer2);//true bool valueEqualityMoreMore = object.ReferenceEquals(integer, integer2);//false #endregion #region int integer = 1; int integer2 = 1; bool referenceEquality = (integer == integer2);//true bool valueEquality = integer.Equals(integer2);//true bool valueEqualityMore = object.Equals(integer, integer2);//true bool valueEqualityMoreMore = object.ReferenceEquals(integer, integer2);//false #endregion #region MyClass obj = new MyClass(1, "Hello"); MyClass obj2 = obj; bool referenceEquality = (obj == obj2);//true bool valueEquality = obj.Equals(obj2);//true bool valueEqualityMore = object.Equals(obj, obj2);//true bool valueEqualityMoreMore = object.ReferenceEquals(obj, obj2);//true #endregion #region MyClass obj = new MyClass(1, "Hello"); MyClass obj2 = new MyClass(1, "Hello"); bool referenceEquality = (obj == obj2);//false bool valueEquality = obj.Equals(obj2);//false bool valueEqualityMore = object.Equals(obj, obj2);//false bool valueEqualityMoreMore = object.ReferenceEquals(obj, obj2);//false #endregion </code></pre> <p>Hell! I understand nothing.</p> <p>To me referenceEquals() of the 1st block should return true. == in the second block should return false (as the references are different). And, both of the Equals() in the 4th block should return true (as their values are same).</p>
    singulars
    1. This table or related slice is empty.
    plurals
    1. This table or related slice is empty.
    1. This table or related slice is empty.
 

Querying!

 
Guidance

SQuiL has stopped working due to an internal error.

If you are curious you may find further information in the browser console, which is accessible through the devtools (F12).

Reload