J'ai un StringBuilder
qui accumule du code. Dans certains cas, il y a 2 lignes vides entre les blocs de code, et j'aimerais faire en sorte qu'il n'y ait plus qu'une seule ligne vide.
Comment puis-je vérifier si le code actuel a déjà une ligne vide à la fin ? (Je préfère ne pas utiliser son ToString()
en raison de problèmes de performance).
Réponse
Trop de publicités?
David Ewen
Points
1486
Au cas où quelqu'un se retrouverait ici comme je l'ai fait, voici une méthode générale pour vérifier la fin d'un fichier StringBuilder
pour une chaîne de caractères arbitraire sans avoir à utiliser ToString
sur celui-ci.
public static bool EndsWith(this StringBuilder haystack, string needle)
{
var needleLength = needle.Length - 1;
var haystackLength = haystack.Length - 1;
if (haystackLength < needleLength)
{
return false;
}
for (int i = 0; i < needleLength; i++)
{
if (haystack[haystackLength - i] != needle[needleLength - i])
{
return false;
}
}
return true;
}
- Réponses précédentes
- Plus de réponses