Я сомневаюсь, либо вызов будет действительно существенно повлиять ваше приложение, если вы действительно создаете что-то на большом масштабе.
Оба метода создания новой строки, однако int.ToString()
должен выполнять намного меньше задач, чем int.Parse().
int.ToString()
выполняется внутренне в CLR (comnumber). int.Parse()
делается внутри BCL source с использованием Number.ParseInt32()
->Number.StringToNumber()
->Number.ParseNumber()
.
ParseNumber
выполняет огромное количество проверок, поэтому от пальца в воздухе догадывается, что вы можете представить int.ToString() быстрее. Как уже отмечали другие, лучшим способом будет узнать правильный тест производительности с классом StopWatch. Вы захотите попробовать это с ожидаемым числом чисел: десятичным, шестнадцатеричным.
Вы можете сравнить C++, что CLR использует для ToString() here: Посмотрите на
NumberToString
(который используется для ToString() и другие форматы), который используется в FCIMPL3
, вызывается междунар. ToString() как вызов extern
.
Int32ToDecStr
используется для форматирования «D».
C#
var x = 5.ToString("D");
var y = 5.ToString();
я мог быть неправ FCIMPL3, пожалуйста, поправьте меня, если я.
Ответ на запас на эти вопросы: Вы пробовали на самом деле профилировать его для ваших данных? –
Im a noob:/Как я мог бы профилировать это? –
Выполните оба варианта в цикле из нескольких тысяч или миллионов итераций и измерьте время, которое требуется. – Joey