Подсчёт кол-во повторений символа в строке без if

Можно ли как-то это реализовать проверку без использования if?

         int n = 0;
         for (int i = 0; i<=TextLable.Text.Length; i++) {
            if (TextLabel.Text[i] == '#') 
            {
            n++; //узнаём кол-во повторений символа '#'
            } 
         }
        //int n = TextLabel.Text.Count(f => f == '#'); //?

Ответы (1 шт):

Автор решения: Виктор

Например так:

int n = 0;
char[] charArr = TextLabel.Text.ToCharArray();  
foreach (char ch in charArr)  
{  
    n = (ch == '#') ? n+1 : n;
} 

На всякий случай, без цикла

n = TextLabel.Text.Count(f => (f == '#'))
n = TextLabel.Text.Where(x => (x == '#')).Count();

foreach (char c in TextLabel.Text)
{
    n = (c == '#') ? n+1 : n;
}

// Здесь шаг задать можно

string myString = TextLabel.Text;
for (int i = 0; i < myString.Length; i++)
{
    n = (myString[i] == myChar) ? n+1 : n;
}
→ Ссылка