Suspicious warning from Resharper - should I change my code?
-
30-06-2021 - |
سؤال
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?
المحلول
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.
نصائح أخرى
Try this:
if (lombardiTrophy.Substring(1, 1).Contains("~"))
Note the double quotes for string comparison.
لا تنتمي إلى StackOverflow