String.IsNullOrEmpty или string.IsNullOrEmpty

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

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

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

Ответы

Ответ 1

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

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

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

Ответ 2

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

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

Ответ 3

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

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

Ответ 4

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