Думайте об этом как:
string upperString = (lowerString .ToUpper()) .ToString();
Другими словами, вещь, которая возвращается из lowerString.ToUpper()
, имеет к ней ToString()
.Это избыточно, поскольку уже строка, но это ни в коем случае не ошибка.
Это не отличается от некоторых других языков, где эквивалент будет:
upperString = toString (toUpper (lowerString));
Inфакт, что вы можете делать всевозможные странные вещи, такие как:
string upper = lower.ToUpper().ToLower().ToUpper().ToString().ToString();
, хотя это чудовище никогда не должно пройти проверку кода: -)