как вы считаете числа в одной строке в c#

#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 с предикатом для получения точного результата