TICS Coding Standard Viewer 
TIOBE Software Quality Framework
Print-friendly version
©TIOBE Software www.tiobe.com
 
C# Coding Standard
Search

Rule:  7@533Checked automatically with code checker

Synopsis:Do NOT use the Equals method to compare diffferent value types, but use the equality operators instead.
Language:C#
Severity Level:3
Category:Object oriented


Description:

An example, as given below, is the best way to explain this:

When the types used for Equals are different, the Equals method returns false regardless of the values:

    int i = 0;
    uint ui = 0;

    if (i == ui)
    {
      Console.WriteLine("i == ui: true");
    }
    else
    {
      Console.WriteLine("i == ui: false");
    }

    if (i.Equals(ui))
    {
      Console.WriteLine("i.Equals(ui): true");
    }
    else
    {
      Console.WriteLine("i.Equals(ui): false");
    }


This code ends with the following output:

i == ui: true
i.Equals(ui): false