В С#, в чем разница между String
и string
? (см. столицы)
Пример:
string s = "¡Hola mundo!";
String S = "¡Hola mundo!";
Каковы правила использования каждого из них? И в чем отличия?
Оригинальный вопрос: в чем разница между строкой и строкой?
В С#, в чем разница между String
и string
? (см. столицы)
Пример:
string s = "¡Hola mundo!";
String S = "¡Hola mundo!";
Каковы правила использования каждого из них? И в чем отличия?
Оригинальный вопрос: в чем разница между строкой и строкой?
String
это имя классаSystem.String
string
является псевдонимомSystem.String
в C#: string (Справочник по C#)На уровне выполнения нет никакой разницы, поскольку компилятор преобразует обе строки в одно и то же.
Например, это то, что LINQPad генерирует с помощью следующих двух операторов:
Как видите, обе строки генерируют инструкцию:
Точно так же, например, при вызове одного из его методов
Обе строки относятся к одному и тому же классу
System.String
и генерируют один и тот же код.По сути,
string
это псевдоним System.String . Microsoft не поддерживает в своей документации номенклатуру строк Microsoft MSDN C# .Я помню, как видел видео MSDN Channel 9, где они рекомендовали
string
локальные переменные и String , особенно для параметров и возвращаемых типов. К сожалению, сейчас не могу найти видео. Кроме того, мне кажется, что это ненужное различие, которое, вероятно, будет очень трудно провести.string в C# — это псевдоним типа .NET Framework (типа CLR) System.String.
(То же самое, например, для System.Int32 и int )
Вы можете использовать его как псевдоним, но иногда в организациях используются политики кодирования, чтобы, например, использовать класс (а не псевдоним) в конструкторе, независимо от того, насколько вы можете его использовать.
Пример:
Но, например , вы не можете создавать псевдонимы строк. Пример псевдонимов:
Используется для лучшего сжатия кода
string
является псевдонимомC#
дляSystem.String
, в своей документации Microsoft использует егоstring
в своих примерах.