В .NET Framework, по крайней мере на языке C #, у нас есть две «версии» строкового типа:
- «Строка»
- "String"
Кажется, что они взаимозаменяемы, но действительно ли они? Если они не являются взаимозаменяемыми, лучше ли использовать одно вместо другого и при каких обстоятельствах?
string
не существует в.net
, он существует только в C #.Ответы:
Ну, согласно MSDN
Где "Строка" на самом деле
System.String
.Я бы сказал, что они взаимозаменяемы, и нет разницы, когда и где вы должны использовать один или другой.
Было бы лучше согласоваться с тем, который вы использовали.
источник
String
(и, следовательноstring
, псевдоним) являются ссылочными типами.Как уже указывалось, они одно и то же и
string
являются просто псевдонимомString
.Для чего это стоит, я использую
string
для объявления типов - переменных, свойств, возвращаемых значений и параметров. Это согласуется с использованием других типов систем -int
,bool
, иvar
т.д. (хотяInt32
иBoolean
тоже правильно).Я использую
String
при использовании статических методов в классе String, напримерString.Split()
илиString.IsNullOrEmpty()
. Я чувствую, что это имеет больше смысла, потому что методы принадлежат классу, и это согласуется с тем, как я использую другие статические методы.источник
Я бы предложил использовать строчные
string
. Прописные буквыString
будут использовать первый класс с именем String, который он найдет в импортированных пространствах имен ... как правило, это такSystem.String
. Вместо этого можно использовать собственный класс String.источник
String
невозможноstring
.string
.string
это ключевое слово C #, которое просто псевдоним дляSystem.String
..но как это ключевое слово, ваш редактор синтаксиса / IDE раскрасит его в цвете ключевого слова, так же как int, double, if, else и т. д. Стилистически вы можете предпочесть использовать ключевое слово, а не
System.String
тип (или сразуString
после ты сделалusing System;
).Это точка ниша , хотя, как , хотя
bool
,char
,int
,double
иstring
все ключевые слова , псевдонимы типов систем,string
является нечетным один выход , как это ссылочный тип и другие типы значений.источник
object
является псевдонимом ключевого слова для ссылочного типаstring
это просто псевдоним дляString
, они в конечном итоге то же самое.Вы можете использовать в зависимости от того вы предпочитаете, хотя я обычно использую ,
string
когда я планирую использовать его так же, как примитивный тип данных (аналогичноint
,float
илиbool
) иString
когда я планирую использовать его в качестве объекта / класса. Например:В приведенном выше случае я планирую использовать
foo
просто для хранения некоторого текста (фактически как примитива), поэтому я используюstring
; Однако, когда я звоню,String.isNullOrWhitespace(string)
я используюString
. Я делаю это, потому что обычно первая буква имен классов пишется с большой буквы (String
), а первая буква примитивов (например,int
) - нет.источник
Строка используется с пространством имен System.String, строка используется в спецификации компилятора C #, более того, System.String является значением ссылочного типа. Вы предпочитаете иметь дело с объектами System, строка только для литеральных целей. Система и система работают одинаково.
Строка используется для сравнения, равных и других целей.
источник