IZennoList — основные операции

← Назад к индексу


Чтение

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];