IZennoList list = project.Lists["MyList"];int count = list.Count;if (list.Count > 0){ string first = list[0]; string last = list[list.Count - 1];}
Запись по индексу
list[0] = "новое значение";
Добавление
// Одним элементомlist.Add("ivan_petrov");// Несколько сразуList<string> temp = new List<string> { "a", "b", "c" };list.AddRange(temp);// Из другого спискаIZennoList source = project.Lists["Source"];list.AddRange(source);
GetItem — получить с опциональным удалением
// Получить первый, не удалятьstring item = list.GetItem("0", false);// Получить первый и удалитьstring next = list.GetItem("0", true);// Случайный с удалениемstring rnd = list.GetItem("random", true);
GetItems — получить несколько
// Элементы 0, 1, 2 — не удалятьstring[] items = list.GetItems("0-2", false);// Первые 5 с удалениемstring[] batch = list.GetItems("0-4", true);
Удаление
// По индексу (быстрее)if (list.Count > 0) list.RemoveAt(0);// По значениюlist.Remove("completed_task");// Очистить всёlist.Clear();
Поиск
if (!list.Contains("user_123")) list.Add("user_123");int index = list.IndexOf("target");if (index >= 0) project.SendInfoToLog("Найден на позиции: " + index.ToString());
Вставка по индексу
list.Insert(0, "первый");
Копирование в массив
string[] arr = new string[list.Count];list.CopyTo(arr, 0);
Перебор
// foreach — только чтение, не менять список внутриforeach (string item in list) project.SendInfoToLog(item);// for с удалением — идти с концаfor (int i = list.Count - 1; i >= 0; i--) list.RemoveAt(i);
Структурированные данные
// Записьlist.Add("123|user@mail.com|Иван");// Чтениеstring[] parts = list[0].Split('|');string id = parts[0];string email = parts[1];string name = parts[2];