Как я должен написать: long.MaxValue
или Int64.MaxValue
?Наилучшая практика использования элемента примитивных типов
Есть ли стандарт от Microsoft?
Как я должен написать: long.MaxValue
или Int64.MaxValue
?Наилучшая практика использования элемента примитивных типов
Есть ли стандарт от Microsoft?
long.MaxValue
потому что вы кодируете в C#.
Int64.MaxValue - это тип .NET.
Установки по умолчанию StyleCop подскажут вам использовать long.MaxValue
.
Это субъективно, но я считаю Int64.MaxValue
легче читать, потому что заглавная буква делает его четко выделяться как статический член типа под названием Int64
, а не член экземпляра локальной переменной называется long
(не то, что могла бы быть локальной переменной, которая называется long
, конечно). Но я не думаю, что кто-нибудь, читающий ваш код, будет запутан в зависимости от того, как вы это сделаете!
Я бы сопоставлял его с типом переменной, которой он назначен. Если вы используете long в объявлении переменной, используйте long.MaxValue.
Джеффри Рихтер пишет:
Я предпочитаю использовать имена типов FCL и полностью избежать примитивных имен типов.
...
В C#, длинные карты до System.Int64, но на другом языке программирования, долго может отобразить на Int16 или Int32. Фактически, C++/CLI на самом деле долго рассматривает Int32. Кто-то, читающий исходный код на одном языке, может легко неверно истолковать намерение кода, если он или она будет использоваться для программирования на другом языке программирования. Фактически, большинство языков не будет долго рассматривать как ключевое слово и не будет компилировать код, который его использует.
Я предпочитаю Int64.MaxValue. думать Также об этом случае:
float val = Single.Parse(..);
Single val = Single.Parse(..);
Я считаю, что второй (имя типа FCL) является более ясным, чем 1 (встроенный имя типа).
Хорошая точка, но стиль C# склоняется к длинному ключевому слову. –
Действительно: например, я всегда указывал переменную как длинную, а не Int64. Но почему-то доступ к * членам * через нижнее имя не подходит для меня так же естественно. Противоречивые? Да, наверное. ** оскал ** – itowlson