Using string.Format in this case doesn't add anything.
By doing only simple concatenation you don't get the output that you get with the use of string.Format().
Here are some examples of inputs and outputs using the two methods:
Code:
Inputs Concat Format()
--------------------------
5 24 $5.24 $5.24
0 2 $0.2 $0.02
String.Format() provides the formatting for each input value in the place holders in the string. In this case it is padding the cents value to 2 decimal places. In the case of simple concatenation, the above result could actually be interpreted wrong (20 cents instead of 02 cents).
There are measurable performance gains with the Format method over standard concatenation when you get into lots of string manipulation. But even for simple stuff it can be considerably easier to read and is a good habit to get into. When you build strings that contain quotes it becomes much easier to read. Consider the following examples:
phrase = "I see";
wife = "Gertrude";
message = "\"" + phrase + "\", said the blind man to his deaf wife " + wife + ".";
//vs.
message = string.Format("\"{0}\", said the blind man to his deaf wife {1}.", phrase, wife);
The result is the same, and yes there is slightly more code using the Format() method. However, there is only 1 string literal instead of 3 (performance) and from my point of view it's easier to read the second to see the structure of the file string. As construction complexity grows, using the Format() method actually simplifies because you don't have to add more concatenation strings around variables. You just add a replacement token in the right place and another argument to the method call.
-Peter