В чём разница между string и String в C#?
93К открытий93К показов
Ответ на самом деле очень прост: string — это просто псевдоним (alias) для System.String т.е. технически, никакой разницы нет. Так же, как и нет разницы между int и System.Int32.
Что касается стиля оформления кода, то тут есть несколько советов.
Обычно рекомендуется использовать string, когда вы имеете в виду объект:
string name = "Jessica";
В противовес случаю, когда вам нужно обратиться именно к классу, например:
string msg = String.Format("Hi, {0}!", name);
По крайней мере этот тот стиль, которого придерживается Microsoft в своих примерах.
На картинке показан полный список псевдонимов. Единственный тип, который не имеет псевдонима — это System.IntPtr, его всегда нужно писать именно так.
Однако есть один случай, когда нужно обязательно использовать псевдонимы: в явных объявлениях типа для перечисления:
Также рекомендуем вам относится с осторожностью к типам, когда вы реализуете какой-либо API, который может использоваться клиентами на других языках. Например, метод ReadInt32 вполне однозначен, тогда как ReadInt — нет. Тот, кто использует ваш API может пользоваться языком, в котором int является 16 или 64-битным, что не совпадает с вашей реализацией. Этому совету отлично следуют разработчики .Net Framework, хорошие примеры можно найти в классах BitConverter, BinaryReader и Convert.
93К открытий93К показов