﻿# V3122\. Uppercase \(lowercase\) string is compared with a different lowercase \(uppercase\) string\.

The analyzer detected a comparison of two strings whose characters are in different cases\.

Consider the following example:

```cpp
void Some(string s)
{
  if (s.ToUpper() == "abcde")
  {
    ....
  }
}
```

After casting the 's' variable's value to upper case, the resulting string is compared with a string where all the characters are lowercase\. As this comparison is always false, this code is incorrect and can be fixed in the following way:

```cpp
void Some(string s)
{
  if (s.ToLower() == "abcde")
  {
    ....
  }
}
```

Consider another example:

```cpp
void Some()
{
  string s = "abcde";
  ....
  if (s.Contains("AbCdE"))
  {
    ....
  }
}
```

While all the characters of the 's' variable's value are lowercase, an attempt is made to check if the string contains a mixed\-case substring\. Obviously, the 'Contains' method will always return 'false', which also indicates an error\.