Когда мне следует использовать:
Int32 myint = 0;//Framework data type
против
int myint = 0;//C# language data type
Каковы сходства/различия? Кажется, мне кажется, что мне говорят, что есть различия в производительности? Это правда?
В С# определяемые языком ключевые слова для типов данных - это просто псевдонимы для их соответствующих типов BCL. Итак, int
точно совпадает с Int32
, long
совпадает с Int64
и т.д.
В общем, я думаю, что лучше всего придерживаться языковых имен типов. Конечно, нет различий в производительности, поскольку эти псевдонимы разрешаются компилятором.
Main
с помощью System.String[]
. Откуда ты взял этот бит?
int
является псевдонимом для System.Int32
, string
является псевдонимом для System.String
. Нет никаких различий.
Тем не менее, лучше использовать int
и string
, а не их Системный эквивалент, в основном для удобства чтения. Если вы используете средство проверки стиля источника, например StyleCop, он будет принудительно заменять все объявления System.String
и System.Int32
их более коротким эквивалентом.
using System;
вверху вам не нужно будет указывать имя типа с его пространством имен при каждом использовании :)
Раньше я выступал за использование псевдонимов языка С# над типами CLR, но я изменил свое предпочтение использованию типов CLR после того, как услышал, что Джеффри Рихтер защищает тип CLR в своей книге CLR через С#, моя первая работа связана с другими разработчиками, новыми для CLR, способность видеть, что CLR, а не С#, является центром внимания, а также цветовые подсказки между ссылочными и значениями типов помогают быстро визуализировать код.
Интересно: Компилятор не позволяет вам вводить enum с помощью "Int32" , но это происходит, когда вы используете "int" .