Есть ли причина использовать строку вместо строки в С# (IDE0001)

Я только что обновился до VS 2015 и жалуется на то, что я использую заглавную String версию строки, говоря, что ее можно упростить.

Я попытался найти в Google IDE0001 и щелкнуть ссылку, но ни один из них не дал мне никакой хорошей информации о том, почему это так. CS0168 также не имеет отношения к этому (https://msdn.microsoft.com/en-us/library/tf85t6e4(v=vs.90).aspx)

Есть ли причина использовать версию нижнего регистра вместо версии верхнего регистра?

введите здесь описание изображения


person Not loved    schedule 04.08.2015    source источник
comment
String — это тип .NET, а string — это тип данных C#. Последний является псевдонимом первого. Теоретически это может измениться, и это может быть псевдоним другого типа, но на самом деле этого никогда не произойдет. Лично я всегда использую типы данных C# вместо типов .NET, когда они существуют. Некоторые утверждают, что следует использовать тип .NET при вызове статических членов и типов данных C# для экземпляров. Это не имеет значения для скомпилированного кода, поэтому вы должны придумать соглашение, которым вы довольны, и придерживаться его.   -  person jmcilhinney    schedule 04.08.2015
comment
Я в основном согласен с @jmcilhinney, но IMO кажется глупым использовать один вариант для одного использования, а другой вариант для другого, когда две конструкции абсолютно идентичны по действию. Имеет ли действительно смысл использовать Int32.Parse вместо int.Parse? Мне кажется, что использование двух разных токенов для разных целей, когда эти два токена идентичны, не приводит ни к чему, кроме путаницы.   -  person Kirk Woll    schedule 04.08.2015
comment
@KirkWoll, я вижу логику использования типов .NET для статических членов, но я не нахожу ее достаточно убедительной для этого. По крайней мере, это означает, что вы должны думать о том, в каком контексте вы находитесь, и тогда вы можете совершить ошибки, если вы этого не сделаете.   -  person jmcilhinney    schedule 04.08.2015