- Регистрация
- 01.05.2015
- Сообщения
- 4 983
- Благодарностей
- 4 434
- Баллы
- 113
Обычная задача: есть список с фразами (result) и ключ (key).
Нужно удалить все строки со списка содержащие любое слово из ключа, если это слово длиннее трёх символов.
Решаю так:
Но почему-то получаю ошибку. Самое интересное, если запустить кубик повторно по тому же списку, то уже ошибки нет.
Наверное что-то с некорректным удалением строки?
Нужно удалить все строки со списка содержащие любое слово из ключа, если это слово длиннее трёх символов.
Решаю так:
Код:
var list = project.Lists["result"];
string str = "";
string keyword = "";
string text = project.Variables["key"].Value;
string[] words = text.Split(' ');
int value = list.Count;
for (int i = 0; i < list.Count; i++) {
str = list[i];
for (int j = 0; j < words.Length; j++) {
keyword = words[j];
if (keyword.Length > 3 && str.Contains(keyword)) {
list.RemoveAt(i);
}
}
}
Наверное что-то с некорректным удалением строки?
Код:
Выполнение действия CSharp OwnCode Index was out of range. Must be non-negative and less than the size of the collection.
Parameter name: index