Si vous voulez un point après chaque caractère, utilisez un StringBuilder
:
StringBuilder sb = new StringBuilder(s.Length * 2);
foreach (char c in s) {
sb.Append(c);
sb.Append('.');
}
string result = sb.ToString();
Si vous ne voulez pas le point de fuite puis dans .NET 4.0, vous pouvez utiliser string.Join
.
string result = string.Join(".", (IEnumerable<char>)s);
Dans .NET 3.5 et plus le second paramètre doit être un tableau, ce qui signifie que vous devrez créer temporairement un tableau il serait probablement plus rapide d'utiliser la solution StringBuilder
ci-dessus et de traiter la première ou dernier index comme un cas particulier.
Remarque: Souvent, vous n'avez pas besoin de la solution la plus efficace, mais simplement d'une solution suffisamment rapide. Si une solution légèrement plus lente mais beaucoup plus simple est suffisante pour vos besoins, utilisez-la plutôt que d'optimiser vos performances inutilement.
Je pense que vous manquez le final '.'. – svick
@svick: je le fais - mais là encore les exigences étaient vagues - le texte dit "entre chaque caractère" mais l'exemple montre le point après le dernier caractère – BrokenGlass