С#.Net нечувствительная к регистру строка
Почему С#.Net разрешает объявление строкового объекта нечувствительным к регистру?
String sHello = "Hello";
string sHello = "Hello";
И нижний регистр, и верхний регистр S слова String приемлемы, и это, кажется, единственный объект, который позволяет это.
Может кто-нибудь объяснить, почему?
Ответы
Ответ 1
string
- это ключевое слово языка, а System.String
- тип, который он псевдонимы.
Оба скомпилируются точно так же:
-
int
- System.Int32
-
long
- System.Int64
-
float
- System.Single
-
double
- System.Double
-
char
- System.Char
-
byte
есть System.Byte
-
short
- System.Int16
-
ushort
- System.UInt16
-
uint
- System.UInt32
-
ulong
- System.UInt64
Я думаю, что в большинстве случаев речь идет о четкости кода - все базовые типы системных значений имеют псевдонимы, я думаю, что нижний регистр string
может быть просто согласован.
Ответ 2
В дополнение к другим ответам, хорошая практика заключается в использовании ключевых слов, если они существуют.
например. вы должны использовать строку, а не System.String.
Ответ 3
"String" - это имя класса. "string" - это ключевое слово, которое отображает этот класс.
это то же самое, что и
- Int32 = > int
- Десятичный = > десятичный
- Int64 = > long
... и так далее...
Ответ 4
"string" - ключевое слово С#. это просто псевдоним для "System.String" - одного из классов .NET BCL.
Ответ 5
"string" - это просто псевдоним С# для класса "String" в пространстве имен System.
Ответ 6
Строка является псевдонимом для System.String. Это одно и то же.
Однако, условно, объекты типа (System.String) обычно называются псевдонимом - например,
string myString = "Hello";
тогда как операции над классом используют прописную букву
например.
String.IsNullOrEmpty(myStringVariable);
Ответ 7
Я использую String, а не строку,
Int32 вместо int,
так что подсветка синтаксиса выбирает строку как тип, а не ключевое слово. Я хочу, чтобы ключевые слова выскочили на меня.