Это может быть несколько тривиально, но в C# вы предпочитаете int или UInt16 при хранении сетевого порта в переменной? Классы Framework используют int при работе с сетевым портом, хотя UInt16 фактически представляет допустимые значения.Должен ли я использовать int или UInt16?
ответ
подписал (int
/short
и т.д., а что uint
/ushort
) имеют то преимущество, что CLS соответствует, так что рекомендуется, если у вас есть веские основания.
Re int
против short
- в большинстве случаев это более эффективно вычислений с int
(или uint
), так как все операторы оптимизированы для этого. Если вы только сохраняете и извлекаете его, это, конечно, не проблема.
Если у вас есть 32-битный процессор, и вы будете использовать 16-битное значение (для экономии памяти), он будет выровнен до 32 бит. Поэтому я считаю, что не так важно использовать 16bit uint вместо 32-битного значения.
За исключением массива, конечно. –
Да, это правильно – tga
- 1. Должен ли я использовать байт или int?
- 2. Должен ли я использовать int или Int32
- 3. Должен ли я использовать int или long в C++?
- 4. Должен ли я использовать static const int или #define?
- 5. Должен ли я использовать Point.x или Point.getX()?
- 6. Должен ли я использовать намерения или слушателей?
- 7. Должен ли я использовать Html.CheckBox или Html.CheckBoxFor?
- 8. Должен ли я использовать mutableArray или mutableDictronary?
- 9. Должен ли я использовать значения или ключи?
- 10. Должен ли я подкласс или использовать перечисление?
- 11. Должен ли я использовать cflock или нет?
- 12. Должен ли я использовать наследование или состав?
- 13. Должен ли я использовать NSOperation или NSRunLoop?
- 14. Должен ли я использовать отдых или мыло
- 15. Должен ли я использовать BigDecimal или double?
- 16. Должен ли я использовать px или процент?
- 17. Должен ли я использовать StringBuilder или нет?
- 18. Должен ли я использовать partial или show.html.erb?
- 19. Должен ли я использовать dict или список?
- 20. Должен ли я использовать GridView или RecyclerView?
- 21. Должен ли я использовать SmartGWT или Vaadin?
- 22. Должен ли я использовать BroadcastReceiver или Service?
- 23. Должен ли я использовать msgsnd или mq_send?
- 24. Должен ли я использовать аксессоров или нет?
- 25. Должен ли я использовать TempData или RedirectToAction?
- 26. Должен ли я использовать Flash или Flex?
- 27. Должен ли я использовать CRUD или нет?
- 28. Должен ли я использовать Array или Objects
- 29. Должен ли я использовать PurePDF или AlivePdf
- 30. Должен ли я использовать DECIMAL или VARCHAR
Я считаю, что неподписанные типы являются CLS-совместимыми, начиная с 2.0. Долгое время я смотрел на это, так что я мог ошибаться. – JaredPar
@JaredPar - странно, 'ushort' не вызывает предупреждения, но' uint' делает (используя VS2008): «Предупреждение Тип аргумента« uint »не соответствует CLS» –
@ JaredPar - также, MSDN " Этот API не совместим с CLS. Альтернативой CLS является Int32. " http://msdn.microsoft.com/en-us/library/system.uint16.aspx (также говорит, что для 4.0) –