String.IsNullOrEmpty или string.IsNullOrEmpty - PullRequest
14 голосов
/ 09 марта 2010

Я просматривал код в течение последних 3 дней, и первоначальный разработчик определяет строки, используя класс String вместо класса string . Итак, когда они использовали метод IsNullOrEmpty , он определился String.IsNullOrEmpty .

Что я хотел бы знать, так это как компилятор работает с String.IsNullOrEmpty по сравнению с string.IsNullOrEmpty ?

Есть ли какие-либо преимущества при использовании String.IsNullOrEmpty над string.IsNullOrEmpty ?

Ответы [ 4 ]

17 голосов
/ 09 марта 2010

Они оба одинаковы.

строка - это псевдоним ключевого слова в c # для System.String.

Единственное отличие состоит в том, что при использовании String необходимо использовать System.String.IsNullOrEmpty или using System; в начале файла кода.

5 голосов
/ 09 марта 2010

String обозначает System.String , и это тип .NET Framework. строка является псевдонимом в языке C # для System.String. Оба они скомпилированы в System.String в IL (промежуточный язык), поэтому нет никакой разницы. Выберите то, что вам нравится, и используйте это. Если вы пишете код на C #, я бы предпочел строку, так как это псевдоним C # и хорошо известен программистам C #.

Я могу сказать то же самое о (int, System.Int32) и т. Д.

4 голосов
/ 09 марта 2010

Они одинаковы.

Лично я предпочитаю использовать String.IsNullOrEmpty. Альтернатива просто не выглядит правильно. То же самое касается выбора Int32.Parse(...) вместо int.Parse(...). И, конечно же, независимо от того, какой подход вы выберете, будьте последовательны.

1 голос
/ 14 апреля 2015

Лично я предпочел бы использовать типы CTS, если я использовал статические методы, такие как IsNullOrEmpty или Parse. Но после того, как я прочитал статью Стандарты кодирования для .NET Лэнса Ханта (http://se.inf.ethz.ch/old/teaching/ss2007/251-0290-00/project/CSharpCodingStandards.pdf) особенно примечание Используйте встроенные собственные типы данных C # против типов .NET CTS , Я пересмотрел свое мнение: теперь я использую все соответствующие типы для склонений и для вызова функций, и я использую псевдонимы, если это возможно. Подумайте, возможно, int и Int32 не будут одинаковыми в будущем.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...