Tout d'abord, je trouve
string s = String.Format(
"Your order {0} will be delivered on {1:yyyy-MM-dd}. Your total cost is {2:C}.",
orderNumber,
orderDeliveryDate,
orderCost
);
beaucoup plus facile à lire, à écrire et à entretenir que les
string s = "Your order " +
orderNumber.ToString() +
" will be delivered on " +
orderDeliveryDate.ToString("yyyy-MM-dd") +
"." +
"Your total cost is " +
orderCost.ToString("C") +
".";
Regardez comment beaucoup plus facile à gérer ce qui suit est
string s = String.Format(
"Year = {0:yyyy}, Month = {0:MM}, Day = {0:dd}",
date
);
sur le alternative où vous auriez à répéter date
trois fois.
Deuxièmement, les spécificateurs de format que String.Format
offre vous donne une grande flexibilité sur la sortie de la chaîne de caractères dans une manière qui est plus facile à lire, à écrire et à maintenir que la simple utilisation de vieux concaténation. En outre, il est plus facile d'obtenir de la culture préoccupations droit avec String.Format
.
Troisièmement, lorsque la performance n'est pas anodin, String.Format
sera mieux que la concaténation. Derrière les coulisses, il utilise un StringBuilder
et évite le Schlemiel le Peintre problème.