На данный вопрос уже ответили:
Слышал байку, что если писать так int i = 0
, а не System.Int32 i = 0
или
using System;
.......
Int32 i = 0;
происхожит какая-то оптимизация*. Есть ли какая-то разница между этими вариантами?
*Количество набранных символов и т.д. не учитывать.
Разницы никакой, int
и Int32
после компиляции в IL код станут одним и тем же. int
это ключевое слово для c#, ровно как Integer
для VisualBasic, но оба они представляют собой System.Int32
.
int
- примитив, доступный в компиляторе C#, в то время как Int32
является типом FCL и следовательно доступен для всех языков, соответствующих CLS.
В C# int
- это simple type, алиаз System.Int32
.
Есть только один случай, когда упоминание типа допустимо, а упоминание алиаза - нет. Это конструкция nameof
:
// компилируется
string name = nameof(Int32);
// ошибка
string name = nameof(int);
Во всех остальных случаях нет никакой разницы между int
, System.Int32
и using System
+ Int32
. - все превратится в одно и то же упоминание типа System.Int32
в результирующей сборке.
Современные решения для бизнеса: как облачные и виртуальные технологии меняют рынок
Виртуальный выделенный сервер (VDS) становится отличным выбором
Имеются строки, которые содержат символы "'¬', '∧', '∨', '→', '⇔',"При использовании StreamWriter sw = new StreamWriter(fstream); т