Skip to content

RU CSharp Collections

Codex edited this page Oct 11, 2026 · 2 revisions

Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어

List, Dictionary, HashSet, очереди и стеки

Руководство C# · Примеры UO

Коллекции выбирают по операциям: List<T> хранит упорядоченный изменяемый список, Dictionary<TKey,TValue> — значения по ключу, HashSet<T> — уникальные значения, Queue<T> — порядок FIFO, Stack<T> — LIFO. Generic-параметр задаёт тип элемента.

Простой пример (Example.cs)

Сохраните этот пример отдельно как Example.cs. Запускайте его независимо от остальных примеров страницы.

Example.cs:

// PROJECT-EXAMPLE
var counts = new System.Collections.Generic.List<int> { 2, 3 };
counts.Add(4);
System.Console.WriteLine(counts.Count);

Результат:

3
var visited = new HashSet<string>(StringComparer.OrdinalIgnoreCase);
visited.Add("backpack");
visited.Add("BACKPACK");
UO.Print($"Unique names: {visited.Count}");
var delays = new Dictionary<string, int>
{
    ["short"] = 100,
    ["long"] = 500
};
if (delays.TryGetValue("short", out int delay))
{
    await WaitAsync(delay);
}
var queue = new Queue<string>();
queue.Enqueue("first");
queue.Enqueue("second");
UO.Print(queue.Dequeue());

Не изменяйте обычную коллекцию во время её foreach без подходящего алгоритма. Для одновременной работы потоков существуют отдельные concurrent-коллекции; они не превращают игровые операции в потокобезопасные сами по себе.

Официальная документация: List, Dictionary, HashSet, очереди и стеки — Microsoft Learn.

Clone this wiki locally