StringBuilder, comparaison et remarques sur la culture
Construisez efficacement de grands textes avec StringBuilder et comparez les chaînes en toute sécurité avec StringComparison et les API sensibles à la culture.
StringBuilder, comparaison et remarques sur la culture est une leçon C# Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 3. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage C# Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours C# Academy comprend 3 leçons au total.
Présentation
Objectif : construire efficacement de grandes chaînes et comparer correctement le texte.
- StringBuilder pour de nombreux ajouts
- Comparaison Ordinal ou fondée sur la Culture
- Vérifications insensibles à la casse
Principes de base de StringBuilder
Utilisez StringBuilder lors de concaténations dans des boucles afin de réduire les allocations.
using System;
using System.Text;
public class Program
{
public static void Main(string[] args)
{
// Build a small CSV with many appends
StringBuilder sb = new StringBuilder();
sb.Append("id,name").AppendLine();
for (int i = 1; i <= 3; i = i + 1)
{
sb.Append(i).Append(",Item ").Append(i).AppendLine();
}
string csv = sb.ToString();
Console.WriteLine(csv);
}
}
StringBuilder ou +
Conseil :
- Utilisez "a" + b + c pour quelques éléments.
- Utilisez StringBuilder dans les boucles ou pour de nombreux ajouts.
- Réutilisez la même instance de StringBuilder à l'intérieur de la boucle.
Vérification insensible à la casse
Pour les identifiants, par exemple les noms de fichier et les clés, préférez OrdinalIgnoreCase afin d'éviter les variations inattendues liées à la culture.
using System;
public class Program
{
public static void Main(string[] args)
{
string a = "file";
string b = "FILE";
bool ordEq = string.Equals(a, b, StringComparison.OrdinalIgnoreCase);
bool ord = string.Equals(a, b, StringComparison.Ordinal);
Console.WriteLine("OrdinalIgnoreCase: " + ordEq); // true
Console.WriteLine("Ordinal (case-sensitive): " + ord); // false
}
}
Exemple de culture
La culture influence les résultats, par exemple pour le I turc. Soyez explicite : utilisez InvariantCulture pour les données et les identifiants ; utilisez la culture de l'utilisateur pour l'interface.
using System;
using System.Globalization;
public class Program
{
public static void Main(string[] args)
{
string lowerI = "i";
// Culture-sensitive uppercasing
string trUpper = lowerI.ToUpper(new CultureInfo("tr-TR"));
string invUpper = lowerI.ToUpper(CultureInfo.InvariantCulture);
Console.WriteLine("tr-TR upper(i) = " + trUpper); // "İ"
Console.WriteLine("Invariant upper(i) = " + invUpper); // "I"
}
}
Conseils et choix
Conseils :
- Mettez en cache StringBuilder dans la boucle ; appelez .ToString() une seule fois à la fin.
- Choisissez OrdinalIgnoreCase pour les clés, les identifiants et les noms de fichier.
- Choisissez CurrentCulture pour le texte destiné à l'utilisateur.
Comparaison par défaut
Récapitulatif
Récapitulatif : utilisez StringBuilder pour de nombreux ajouts ; choisissez OrdinalIgnoreCase pour les identifiants ; utilisez des API tenant compte de la culture pour le texte de l'interface.
Questions Fréquemment Posées
La leçon « StringBuilder, comparaison et remarques sur la culture » est-elle gratuite ?
Oui — le texte complet de « StringBuilder, comparaison et remarques sur la culture » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours C# Academy, passe à CoddyKit PRO. Le cours C# Academy comprend 3 leçons au total.
Qu'est-ce que j'apprendrai dans « StringBuilder, comparaison et remarques sur la culture » ?
Construisez efficacement de grands textes avec StringBuilder et comparez les chaînes en toute sécurité avec StringComparison et les API sensibles à la culture. Tu pratiques C# Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer C# Academy ?
Aucune expérience préalable n'est requise. C# Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 3.
Combien de temps prend la leçon « StringBuilder, comparaison et remarques sur la culture » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon C# Academy ?
Oui. Chaque leçon C# Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Chaînes et texte : immuabilité, interpolation, chaînes littérales, StringBuilder et comparaison
- StringBuilder, comparaison et remarques sur la culture
- char, bases d’Unicode, analyse et formatage simples