I have a statement where a string is assigned in the following manner:
for (int i = 0; i < x; i++)
{
Foo.MyStringProperty = "Bar_" + i.ToString();
/* ... */
}
Are there any performance differences between i.ToString() or just plain i, as both are just converted to the (culture invariant?) string equivalent?
I am well aware of the existence of String.Concat(), String.Format, StringBuilder, etc., but for the sake of this case, lets assume I may only use + concatenation.
Thanks in advance.
+concatenation usesString.Concatanyway –Stringitself doesn’t expose a + operator.So for example:
is compiled into:
Whereas calling
ToStringdirectly will avoid boxing and call theConcat(string, string)overload. Therefore the version with theToStringcall will be slightly more efficient – but I highly doubt that it’ll be significant, and I’d strongly urge you to go with whichever version you feel is more readable.