Перебрать все элементы List удовлетворяющие параметрам, удаляя взятые - C#
Формулировка задачи:
Приветствую! Достаточно нубский вопрос, но никак не решу проблему.
По для рассылки, перебирать ВСЕ элементы List<string> mails; по условию. После того как взяли текущий элемент он удаляется из листа соответственно при следующем прогоне цикла for может использовать уже не существующий индекс, естественно сразу вылетает. Если добавить условие num_MailsPerMsg.Value >= mails.Count то опять же что вполне логично перебирает не все элементы List.
Может кто подсказать, как построить цикл чтобы перебирались ВСЕ элементы?
Сюда же еще один вопрос, например:
какую функцию вместо .split можно использовать, чтобы разбить строку по разделителю состоящему из нескольких символов? например '||'
if (num_MailsPerMsg.Value < mails.Count) { for (int i = 0; i < num_MailsPerMsg.Value; i++) { if (mails.Count == 0) // || num_MailsPerMsg.Value >= mails.Count) { return "Finished"; } else { receipients += mails[i] + "\":\"\",\""; mails.Remove(mails[i]); } } receipients = "\""+receipients.Substring(0, receipients.Length - 2); log(receipients); }
mails.Remove(mails[i]);
string splitChar = '|'; String[] words2 = receipients.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
Решение задачи: «Перебрать все элементы List удовлетворяющие параметрам, удаляя взятые»
textual
Листинг программы
string splitChar = '|'; String[] words2 = receipients.Split(new char[] { '|' }, StringSplitOptions.RemoveEmptyEntries);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д