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
не то же самое в будущем.