Есть ли различия в производительности между строкой. Форматы и String.Format? Насколько я понимаю, строка является ярлыком для System.String, и между ними нет никакой разницы. Я прав?String.Format против string.Format. Любые проблемы?
Спасибо!
Есть ли различия в производительности между строкой. Форматы и String.Format? Насколько я понимаю, строка является ярлыком для System.String, и между ними нет никакой разницы. Я прав?String.Format против string.Format. Любые проблемы?
Спасибо!
Это точно такие же. «string» - это просто псевдоним для «System.String» в C#
Строка и строка разрешены для System.String. Так что нет никакой разницы.
Да, строка является псевдонимом для System.String в C#
проверить это сами:
public static void Main(string[] args)
{
string s1 = "abc";
System.String s2 = "xyz";
Type t1 = s1.GetType();
Type t2 = s2.GetType();
System.Console.WriteLine(t1.Equals(t2));
return ;
}
Да, нет абсолютно никакой разницы с точки CLR зрения: string
против String
чисто C# синтаксически.
В C# строка просто псевдоним для типа CLR System.String, поэтому нет разницы в производительности. Непонятно, почему MS решила включить этот псевдоним, в частности, поскольку другие псевдонимы (int, long и т. Д.) Являются типами значений, а не ссылочными типами.
В моей команде мы решили, что статические методы класса строк должны быть указаны как, например. String.ToUpper(), а не string.ToUpper(), чтобы быть более совместимым с другими языковыми версиями.
В конечном счете, какая версия, которую вы используете, зависит от вас, но вы должны решить, какой вариант использовать в каком контексте, чтобы улучшить согласованность.
, но почему этот синтаксический сахар необходим/полезен? Я никогда не понимал этого. Я пришел из мира MS, и для меня (хотя это ясно) всегда был просто путаницей людей, а также непоследовательностью в стиле программирования. Некоторые из команд используют String, другие string .. – Juri
Просто примитивные типы, такие как string, int или bool, обычно имеют соответствующее языковое ключевое слово. Вы бы не хотели писать Int32 каждый раз, когда хотите int ... –