#c#
#c#
Вопрос:
Итак, я пытался напечатать 1000 диджитов числа pi, и каждые 6 были бы подсчитаны и выведено окончательное число того, сколько существует 6, я знаю, как это сделать с массивами, но не с одной строкой
Комментарии:
1. Несколько способов использовать регулярное выражение или простое
char.IsDigit()
для фильтрации чисел
Ответ №1:
Я думаю, что это решение, которое вы ищете:
var sum = 0;
foreach (char s in string)
{
if (s == '6')
{
sum = 1;
}
}
Комментарии:
1. также я вижу это много, но что такое var?
2. Это переменная без определенного типа данных, поэтому она может быть любой.
3. кроме того, если бы я хотел получить число, подобное 20, как бы я это реализовал?
4. Цикл, который я только что построил, проверяет каждый символ, но 20 — это два символа: «2» и «0». Итак, что вам нужно сделать, это проверить, является ли текущий символ «2», а следующий символ «0».
5. Я думаю, это то, что вы ищете, попробуйте это: for (int i = 0; i < string . Длина; i ) { if (string[i] == ‘2’ amp;amp; string[i 1] == ‘0’) { сумма = 1; } }
Ответ №2:
Как насчет этого?
var sixcount = 0;
for (char c in piString) {
if (c == '6') sixcount ;
}
Вероятно, есть и гладкий эквивалент LINQ.
Легко перебирать символы строк.
Комментарии:
1. Linq, который вы ищете, вероятно,
piString.Count(c => c == '6')
Ответ №3:
результат var = piString.Count(x => x == '6')
Этот код Linq должен помочь
String
внутренне является a char[]
, поэтому мы можем использовать Linq Count
с предикатом для получения точного результата