Partage
  • Partager sur Facebook
  • Partager sur Twitter

C# - Conversion majuscules/minuscles

Sujet résolu
    3 avril 2011 à 0:06:27

    Bonjour,

    Ma question est simple, je voudrais faire en sorte que le constructeur d'une classe puisse convertir des données saisies avec les règles suivantes: Première lettre en majuscule et les autres en minuscules. Ça donne ceci:

    /// <summary>
            /// Constructeur permettant d'initialiser l'objet dès sa création.
            /// </summary>
            public Musicien(string nom, string nas, string instrument, bool amateur)
            {
                this.nom = nom[0].ToString().ToUpper() + nom.Substring(1).ToLower();
                this.nas = nas;
                this.instrument = instrument[0].ToString().ToUpper() + instrument.Substring(1).ToLower();
                this.amateur = amateur;
            }
    


    Par contre, je ne suis pas sûr de l'utilisation de Substring -> (1) <-. En gros, je prends la première lettre de la chaîne, je la mets en majuscule et à l'aide de substring je prends le reste de la chaîne à partir de la deuxième position et je mets tout en minuscules. J'ai également une autre question.

    je veux valider des entrées. Des instruments pour être plus précis, "Guitare" est accepté, "GUITARE" est accepté, "GuItArE" est accepté. Vous pigez le principe, aucune sensibilité à la casse càd que majuscules ou pas, on s'en fout, on valide.

    J'ai écrit ça:
    "if (instrument.Text != "Guitare")
    {
    ...
    }

    Sauf que Guitare sera validé sans problème mais pas "GuITare" ou "GuitarE" par exemple. Comment faire pour que ça soit le cas ? Merci d'avance pour vos réponses !
    • Partager sur Facebook
    • Partager sur Twitter
      3 avril 2011 à 0:18:42

      Citation : Kaileena

      Par contre, je ne suis pas sûr de l'utilisation de Substring -> (1) <-.


      L'utilisation de SubString est correcte en tout cas, pas d'erreur de ce côté-là :)

      Citation : Kaileena

      je veux valider des entrées. Des instruments pour être plus précis, "Guitare" est accepté, "GUITARE" est accepté, "GuItArE" est accepté. Vous pigez le principe, aucune sensibilité à la casse càd que majuscules ou pas, on s'en fout, on valide.


      Il existe une méthode de comparaison de chaines insensible à la casse:

      if (string.Compare(instrument.Text, "Guitare", true) != 0)
      {
          ...
      }
      
      • Partager sur Facebook
      • Partager sur Twitter
        3 avril 2011 à 0:33:08

        Haaaaaaaaaan parfait, merci beaucoup !

        Par contre y'a sûrement moyen de faire plusieurs vérifications dans un seul if parce que j'ai plusieurs instruments (Guitare, Piano etc.) et je n'arrive pas à trouver la syntaxe exacte pour que cela fonctionne.

        Merci encore une fois.
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          3 avril 2011 à 11:00:19

          Avec LINQ et une liste d'éléments acceptés :
          using System.Linq;
          // ...
          List<string> instruments = new List<string> { "Guitare", "Piano", "Violon" };
          string input = "GuITARe";
          bool match = instruments.Contains( input, StringComparer.InvariantCultureIgnoreCase );
          Console.WriteLine( match ); // True
          
          • Partager sur Facebook
          • Partager sur Twitter

          C# - Conversion majuscules/minuscles

          × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
          × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
          • Editeur
          • Markdown