В С# есть объекты String
и String
объекты.
В чем разница между этими двумя? Каковы наилучшие методы использования?
В С# есть объекты String
и String
объекты.
В чем разница между этими двумя? Каковы наилучшие методы использования?
Нет никакой разницы. string (нижний регистр) - это просто псевдоним для System.String.
Никакой разницы. System.String
строго идентичен string
. Общие правила кодирования С# указывают, что вы должны использовать ключевое слово string
.
Они являются псевдонимами и взаимозаменяемы. Однако, стилистически, для деклараций я использую строку с нижней строкой, а для статических методов я использую String.
string foo = "bar";
if( foo != String.Empty )
{
Console.WriteLine(String.Format("foo.Length = {0}", foo.Length));
}
Один из них - System.String.Net Type, а один - для С#, который является псевдонимом для System.String.
http://msdn.microsoft.com/en-us/library/362314fe(VS.71).aspx
Нет никакой разницы. string - это псевдоним, который компилятор преобразует в System.String.
Фактически, он даже псевдониму в MSIL:
.method private hidebysig static void Main(string[] args) cil managed
Между ними нет никакой разницы. string - это просто псевдоним для System.String. Когда они скомпилированы, они оба скомпилированы в объект System.String.
Нижняя версия - это просто псевдоним для фактического класса String. Нет никакой реальной разницы в том, что IL генерировал.
Нет никакой разницы. string - это ключевое слово языка С#, которое относится к классу System.String, точно так же, как int - это ключевое слово, которое относится к System.Int32.
В будущем попробуйте компилировать приложение, которое использует оба, а затем использовать Reflector (изменить язык на IL), чтобы просмотреть скомпилированный вывод. Вы не увидите различий.
Нет никакой разницы, потому что строка преобразуется в System.String компилятором. То же самое со всеми распространенными типами (int переходит в System.Int32 и т.д.). Мы используем простое имя, чтобы они выделялись.
Учитывая, что "int" отличается на некоторых языках в зависимости от 16-битной/32-битной системы, "строка" в будущем может развиваться не так, как System.String.
Но на данный момент это.
просто немного: string/String - не единственная пара псевдонимов: например. Integer, Int32, int - все псевдонимы.
@mliesen: это не происходит в С#, это не похоже на C. this, потому что из С# вы не создаете исполняемый, а компилируемый код, как java.