Вот версия с использованием LINQ (написана с использованием методов расширения):
int s = str.Where(c => c == 's').Count();
При этом используется тот факт, что string
равен IEnumerable<char>
, поэтому мы можем отфильтровать все символы, которые соответствуют искомому, и затем подсчитать количество выбранных элементов. Фактически, вы можете написать только это (потому что метод Count
позволяет вам указать предикат, который должен храниться для всех подсчитанных элементов):
int s = str.Count(c => c == 's');