Перебрать все элементы 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);
ИИ поможет Вам:
- решить любую задачу по программированию
- объяснить код
- расставить комментарии в коде
- и т.д