locked
Подсчёт одинаковых символов в строке продолжение RRS feed

  • Вопрос

  • Завёл новую тему, т.к. один вопрос один пост

    string data = string.Format("89277");
    
                List<int> ifdata = new List<int>();
    
                ifdata.Add(4);
                ifdata.Add(2);
                ifdata.Add(7);
                ifdata.Add(8);
                ifdata.Add(9);
    
    
                for (int i = 0; i < ifdata.Count; i++)
                {
                    int counts = 0;
                    foreach (Match m in Regex.Matches(data, Convert.ToString(ifdata[i])))
                    {
                        counts++;
                        Console.WriteLine("Количество символов {0} = {1}", Convert.ToString(ifdata[i]), counts);
                    }
                    Console.ReadKey();
                }
    

    Т.е. должно

    4=0

    2=1

    7=2

    8=1

    9=1

    А показывает пустоту. Почему? из-за того что 4-к нет?


    Спасибо

    9 марта 2013 г. 13:00

Ответы

  •             string data = string.Format("89277");
    
                List<int> ifdata = new List<int>();
    
                ifdata.Add(4);
                ifdata.Add(2);
                ifdata.Add(7);
                ifdata.Add(8);
                ifdata.Add(9);
    
    
                for (int i = 0; i < ifdata.Count; i++)
                {
                    int counts = 0;
                    foreach (Match m in Regex.Matches(data, Convert.ToString(ifdata[i])))
                    {
                        counts++;
                    }
                    Debug.WriteLine("Количество символов {0} = {1}", Convert.ToString(ifdata[i]), counts);
                }
    

    Результат будет такой:

    Количество символов 4 = 0
    Количество символов 2 = 1
    Количество символов 7 = 2
    Количество символов 8 = 1
    Количество символов 9 = 1

    • Помечено в качестве ответа developers_s 9 марта 2013 г. 16:14
    9 марта 2013 г. 13:44