Перебрать все элементы List удовлетворяющие параметрам, удаляя взятые - C#

Узнай цену своей работы

Формулировка задачи:

Приветствую! Достаточно нубский вопрос, но никак не решу проблему.
Листинг программы
  1. if (num_MailsPerMsg.Value < mails.Count)
  2. {
  3. for (int i = 0; i < num_MailsPerMsg.Value; i++)
  4. {
  5. if (mails.Count == 0) // || num_MailsPerMsg.Value >= mails.Count)
  6. {
  7. return "Finished";
  8. }
  9. else
  10. {
  11. receipients += mails[i] + "\":\"\",\"";
  12. mails.Remove(mails[i]);
  13. }
  14. }
  15. receipients = "\""+receipients.Substring(0, receipients.Length - 2);
  16. log(receipients);
  17. }
По для рассылки, перебирать ВСЕ элементы List<string> mails; по условию. После того как взяли текущий элемент он удаляется из листа
Листинг программы
  1. mails.Remove(mails[i]);
соответственно при следующем прогоне цикла for может использовать уже не существующий индекс, естественно сразу вылетает. Если добавить условие num_MailsPerMsg.Value >= mails.Count то опять же что вполне логично перебирает не все элементы List. Может кто подсказать, как построить цикл чтобы перебирались ВСЕ элементы? Сюда же еще один вопрос, например:
Листинг программы
  1. string splitChar = '|';
  2. String[] words2 = receipients.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
какую функцию вместо .split можно использовать, чтобы разбить строку по разделителю состоящему из нескольких символов? например '||'

Решение задачи: «Перебрать все элементы List удовлетворяющие параметрам, удаляя взятые»

textual
Листинг программы
  1.                     string splitChar = '|';
  2.                     String[] words2 = receipients.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

6   голосов , оценка 3.5 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут
Похожие ответы