C# сниппет. Как взять строку из списка с удалением?

Статус
В этой теме нельзя размещать новые ответы.

Dima_External

Пользователь
Регистрация
23.10.2017
Сообщения
75
Реакции
4
Баллы
8
Приветствую!

В шаблоне очень много работы со списками, хочется оптимизировать работу шаблона и перевести взятие строки из списка при помощи сниппета.

В коде не силен, кто может помочь примером?
 
Код:
Развернуть Свернуть Копировать
lock(SyncObjects.ListSyncer){
   project.Variables["proxy"].Value = project.Lists["proxy"][0].Trim();
   project.Lists["proxy"].RemoveAt(0);
}

Спасибо, все работает!
Подскажи, пожалуйста, а как можно взять рандомный элемент из списка, но без удаления?
 
  • Спасибо
Реакции: Биржевик
Код:
Развернуть Свернуть Копировать
// СПИСОК - взять рандомно строку с удалением
var list = project.Lists["List"];
Random rnd = new Random();
lock (SyncObjects.ListSyncer) {
    int r = rnd.Next(list.Count);
    project.Variables["Var"].Value = list[r];
    // Удаление строки
    list.RemoveAt(r); // удаление взятой строки
}
закомментируй или удали строку
list.RemoveAt(r);
будет брать без удаления
 
Код:
Развернуть Свернуть Копировать
// СПИСОК - взять рандомно строку с удалением
var list = project.Lists["List"];
Random rnd = new Random();
lock (SyncObjects.ListSyncer) {
    int r = rnd.Next(list.Count);
    project.Variables["Var"].Value = list[r];
    // Удаление строки
    list.RemoveAt(r); // удаление взятой строки
}
закомментируй или удали строку
list.RemoveAt(r);
будет брать без удаления

Благодарю!

Большое спасибо все, кто помог.
 
Спасибо, все работает!
Подскажи, пожалуйста, а как можно взять рандомный элемент из списка, но без удаления?
Код:
Развернуть Свернуть Копировать
project.Variables["proxy"].Value = project.Lists["proxy"].GetItem("random",false);
 
Последнее редактирование:
Статус
В этой теме нельзя размещать новые ответы.

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)