Suren97 Ответов: 3

C# как подсчитать количество букв, которые я написал с помощью этой строки


У меня есть статический класс MyExtension,который имеет статическую функцию CountOf,эта функция должна возвращать количество тех букв,которые я написал в строке.В основном я должен писать так`
string str = "hello";
     int r = str.CountOf('l');
     Console.WriteLine(r);

Он будет печатать 2, потому что в строке есть две буквы "l".

Что я уже пробовал:

я уже пробовал вот так`
static public int CountOf(this string str,char ch)
        {

            return str.Count();
        }

но я знаю,что это ложь, потому что это возвращаемый номер строки

3 Ответов

Рейтинг:
2

OriginalGriff

Есть много способов сделать это, но самый простой-просто применить грубую силу.
Но... это твое домашнее задание, так что я не дам тебе никакого кода!

1) Создайте локальную переменную interegr с именем count и установите его на ноль.
2) Использовать foreach цикл на строке для доступа к каждому символу
2.1) внутри цикла проверьте, соответствует ли текущий символ символу "поиск".
2.1.1) если он совпадает, увеличьте count
3) после цикла вернитесь count


Suren97

Большое спасибо :)

OriginalGriff

Всегда пожалуйста!

Рейтинг:
13

Maciej Los

Вы должны пройти через коллекцию символов, сравнить их с входными данными и вернуть количество искомых букв в строке.

string str = "hello";
char input = 'l';
int counter = 0;
//method 1
foreach(char a in str)
{
	if(a==input) counter++; 
}
//counter = 2

//method 2 - linq
var result = str.Count(x=>x==input);
//result = 2


Karthik_Mahalingam

5

Maciej Los

Спасибо, Картик

Suren97

Большое спасибо :)

Maciej Los

Всегда пожалуйста.
Пожалуйста, примите мое решение (зеленая кнопка), если оно было полезно (чтобы отметить Ваш вопрос как ответ).

Suren97

я уже согласился :)

Maciej Los

Спасибо ;)

Рейтинг:
12

RickZeeland

Вы могли бы использовать LINQ граф, смотрите ответы здесь: подсчитайте количество символов в строке[^]


Suren97

Большое спасибо :)