Interpolation de la chaîne de caractères par rapport à la chaîne de caractères.Format
myString += $"{x:x2}";
vs String.Format ()?
myString += String.Format("{0:x2}", x);
je demande seulement parce que Resharper est en train de provoquer le fix, et j'ai déjà été dupé auparavant.
2 réponses
est relatif. Cependant: l'interpolation des chaînes de caractères est transformée en string.Format()
lors de la compilation, de sorte qu'elles devraient finir avec le même résultat.
il y a de subtiles différences cependant: comme nous pouvons le voir à partir de cette question , la concaténation de chaîne dans le spécificateur de format résulte en un appel supplémentaire string.Concat()
.
l'interpolation de la chaîne est transformée en chaîne.Format() au moment de la compilation.
aussi en chaîne.Format vous pouvez spécifier plusieurs sorties pour seul argument, et différents formats de sortie pour seul argument. Mais l'interpolation des chaînes est plus lisible je suppose. Donc, c'est à vous.
a = string.Format("Due date is {0:M/d/yy} at {0:h:mm}", someComplexObject.someObject.someProperty);
b = $"Due date is {someComplexObject.someObject.someProperty:M/d/yy} at {someComplexObject.someObject.someProperty:h:mm}";
Il y a des performance les résultats de tests https://koukia.ca/string-interpolation-vs-string-format-string-concat-and-string-builder-performance-benchmarks-c1dad38032a