2010-02-05 4 views

Répondre

18

Eh oui, utilisez String.Format:

Dim newString As String = String.Format("{0} said {1} blah.", name, blah) 
+0

doux, merci: D – Harrison

16

En VB.NET 14 (pour VS2015), vous pouvez utiliser string interpolation:

Dim newString As String = $"{name} said {blah} blah." 
+1

quelqu'un peut-il penser pourquoi cela pourrait * pas * une amélioration? Je veux dire à mon équipe que c'est une amélioration sans équivoque, mais je veux être sûr que je ne manque pas quelque chose avant de le prétendre. –

+0

@ardave Si vous avez une chance de nécessiter une internationalisation plus tard, vous devrez revenir à l'appel 'String.Format' pour que la chaîne de format devienne une variable ou une fonction à extraire d'un fichier de ressources, etc. –

+1

Pour l'internationalisation, vous pouvez également utiliser une fonction d'aide qui nécessiterait moins de modification du code comme [expliqué ici] (http://weblogs.asp.net/bleroy/c-6-string-interpolation-is-not-a- templating-moteur et-it-s-pas-la-nouvelle-chaîne format): Format 'chaîne publique (FormattableString fs) { // Récupère la version localisée de la chaîne de langue par défaut: var localFormat = GetLocalized (fs.Format); // Alimente la chaîne de format résultante en String.Format: return String.Format (localFormat, fs.GetArguments()); } ' – bkqc