Как удалить & ldquo; continue; & rdquo ;?

Чтобы получить элементы вместо элемента, вам необходимо:

Вместо Add использовать ToList вместо FirstOrDefault и AddRange.

-2
задан NathanOliver 18 January 2019 в 21:29
поделиться

2 ответа

Довольно легко удалить continue из цикла. Что вам нужно, это два индекса в вашем цикле. Один для позиции в исходном массиве и один для позиции в массиве для копирования. Затем вы помещаете операцию копирования в оператор if, чтобы при отсутствии копии вы ничего не делали, чтобы перейти к следующей итерации. Это заставит вас выглядеть как

for (int source_index = 0, copy_index = 0; source_index < n; ++source_index) { // increment source_index always
    if (!strchr(vowels,s[i])) {
        // this isn't a vowel so copy and increment copy_index
        afterElimination[copy_index++] = s[i];
    }
    // now this is the continue but we don't need to say it
}
0
ответ дан NathanOliver 18 January 2019 в 21:29
поделиться

Это типичный подход к фильтрации писем из заданной строки.

#include <string.h>

char s[20] = "something";
char no_vowels[20] = {0};

int i = 0;
int j = 0;
const char *vowels = "aeiou";
while (s[i]) {
  if (!strchr(vowels, s[i])) {
    no_vowels[j] = s[i];
    j++;
  }
  i++;
}

Вот рабочий пример .

0
ответ дан okovko 18 January 2019 в 21:29
поделиться
Другие вопросы по тегам:

Похожие вопросы: