Перебрать все элементы 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);