Repository navigation
RU CSharp Collections
Українська · Русский · English · Deutsch · Français · Italiano · Español · 繁體中文 · 日本語 · 한국어
Коллекции выбирают по операциям: List<T> хранит упорядоченный изменяемый список, Dictionary<TKey,TValue> — значения по ключу, HashSet<T> — уникальные значения, Queue<T> — порядок FIFO, Stack<T> — LIFO. Generic-параметр задаёт тип элемента.
Сохраните этот пример отдельно как 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.
ClassicUO — Bad Newbie & C# Scripts IDE