Search code examples
c#refactoringresharperautomated-refactoring

Suspicious warning from Resharper - should I change my code?


With the following code:

if (lombardiTrophy.Substring(1, 1).Equals('~'))

...I get, "Suspicious comparison: there is no type in the solution which is inherited from both 'string' and 'char'"

Is there a better way to do this that wouldn't cause Resharper to raise its hackles?


Solution

  • You should heed ReSharper's warning - Substring returns a string, and the single quote notation is a char, so you're comparing two different types. You should compare a char to a char, which you can do like this:

    if (lombardiTrophy[1].Equals('~'))
    

    Of course you want to make sure that your string is at least two characters long.