Когда я должен использовать типы данных .net Framework вместо типов данных языка?

2

Когда мне следует использовать:

Int32 myint = 0;//Framework data type

против

int myint = 0;//C# language data type

Каковы сходства/различия? Кажется, мне кажется, что мне говорят, что есть различия в производительности? Это правда?

  • 2
    Вы имеете в виду Int32 вместо Int?
  • 0
    @bnaffas, да, упс
Теги:
types

4 ответа

8
Лучший ответ

В С# определяемые языком ключевые слова для типов данных - это просто псевдонимы для их соответствующих типов BCL. Итак, int точно совпадает с Int32, long совпадает с Int64 и т.д.

В общем, я думаю, что лучше всего придерживаться языковых имен типов. Конечно, нет различий в производительности, поскольку эти псевдонимы разрешаются компилятором.

  • 0
    Мой компилятор C # с радостью распознал Main с помощью System.String[] . Откуда ты взял этот бит?
  • 0
    Помните, кто-то имел эту проблему здесь на SO. Возможно, был неправ, не пытался. Я убрал этот бит.
Показать ещё 4 комментария
5

int является псевдонимом для System.Int32, string является псевдонимом для System.String. Нет никаких различий.

Тем не менее, лучше использовать int и string, а не их Системный эквивалент, в основном для удобства чтения. Если вы используете средство проверки стиля источника, например StyleCop, он будет принудительно заменять все объявления System.String и System.Int32 их более коротким эквивалентом.

  • 1
    Так как обычно все исходные файлы using System; вверху вам не нужно будет указывать имя типа с его пространством имен при каждом использовании :)
  • 0
    Вам не придется это делать из-за оператора using, но в случае int и string вам никогда не придется этого делать.
1

Раньше я выступал за использование псевдонимов языка С# над типами CLR, но я изменил свое предпочтение использованию типов CLR после того, как услышал, что Джеффри Рихтер защищает тип CLR в своей книге CLR через С#, моя первая работа связана с другими разработчиками, новыми для CLR, способность видеть, что CLR, а не С#, является центром внимания, а также цветовые подсказки между ссылочными и значениями типов помогают быстро визуализировать код.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню