none
Compter le nombre de lettres dans une chaine RRS feed

Réponses

  • Je dirais plutôt :

    private static int CountLetter(string value, string letterToCount)
            {
                return
                    value.Count(
                        c =>
                            c.ToString(CultureInfo.InvariantCulture)
                                .Equals(letterToCount, StringComparison.InvariantCultureIgnoreCase));
            }


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    • Proposé comme réponse Aurel Bera mardi 3 septembre 2013 13:09
    • Marqué comme réponse sarraarfaoui mercredi 4 septembre 2013 08:04
    mardi 3 septembre 2013 12:45
  • Bonjour,

    Plusieurs méthodes s'offrent à vous pour réaliser cela. En voici 2.

    class Program
        {
            static void Main(string[] args)
            {
                string mot = "TESTS";
    
                // 1ère méthode : boucle
                int counter = 0;
    
                for (int i = 0; i < mot.Length ; i++)
                {
                    if (mot[i] == 'S')
                    {
                        counter++;
                    }
    
                    i++;
                }
    
                Console.WriteLine("Résultat : {0}", counter.ToString());
            
                // 2ème méthode : linq
    
                var result = mot.Where(l => l == 'S').Count();
    
                Console.WriteLine("Résultat : {0}", result.ToString());
    
                Console.Read();
    
            }
        }

    • Proposé comme réponse Aurel Bera mardi 3 septembre 2013 13:09
    • Marqué comme réponse sarraarfaoui mercredi 4 septembre 2013 08:04
    mardi 3 septembre 2013 10:02

Toutes les réponses

  • Bonjour,

    Plusieurs méthodes s'offrent à vous pour réaliser cela. En voici 2.

    class Program
        {
            static void Main(string[] args)
            {
                string mot = "TESTS";
    
                // 1ère méthode : boucle
                int counter = 0;
    
                for (int i = 0; i < mot.Length ; i++)
                {
                    if (mot[i] == 'S')
                    {
                        counter++;
                    }
    
                    i++;
                }
    
                Console.WriteLine("Résultat : {0}", counter.ToString());
            
                // 2ème méthode : linq
    
                var result = mot.Where(l => l == 'S').Count();
    
                Console.WriteLine("Résultat : {0}", result.ToString());
    
                Console.Read();
    
            }
        }

    • Proposé comme réponse Aurel Bera mardi 3 septembre 2013 13:09
    • Marqué comme réponse sarraarfaoui mercredi 4 septembre 2013 08:04
    mardi 3 septembre 2013 10:02
  • Je dirais plutôt :

    private static int CountLetter(string value, string letterToCount)
            {
                return
                    value.Count(
                        c =>
                            c.ToString(CultureInfo.InvariantCulture)
                                .Equals(letterToCount, StringComparison.InvariantCultureIgnoreCase));
            }


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    • Proposé comme réponse Aurel Bera mardi 3 septembre 2013 13:09
    • Marqué comme réponse sarraarfaoui mercredi 4 septembre 2013 08:04
    mardi 3 septembre 2013 12:45
  • Je dirais plutôt :

    private static int CountLetter(string value, string letterToCount)
            {
                return
                    value.Count(
                        c =>
                            c.ToString(CultureInfo.InvariantCulture)
                                .Equals(letterToCount, StringComparison.InvariantCultureIgnoreCase));
            }


    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    Variante intéressante (mais attention si on ne tient pas compte de la casse, on comptera les 's' et les 'S')
    mardi 3 septembre 2013 12:50
  • Oui, c'était le but ;-)

    Richard Clark
    Consultant - Formateur .NET
    http://www.c2i.fr
    Depuis 1996: le 1er site .NET francophone

    mardi 3 septembre 2013 12:52