Массивы, срезы, List<T>, Dictionary<TKey,TValue>
Создавайте и используйте массивы, копируйте срезы и работайте с List и Dictionary для динамических элементов и поиска по ключу.
«Массивы, срезы, List<T>, Dictionary<TKey,TValue>» — бесплатный урок C# Academy на CoddyKit. Это урок 1 из 3. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения C# Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс C# Academy содержит 3 уроков всего.
Обзор урока
Цель: выбрать подходящую коллекцию.
- Массив: фиксированный размер, быстрая индексация
- Список<T>: размер увеличивается и уменьшается
- Словарь<TKey,TValue>: быстрый поиск по ключу
- Простой срез массива через копирование
Основы массивов
Массивы имеют фиксированный размер и поддерживают индексацию. Используйте длину и индексы, начинающиеся с нуля.
using System;
public class Program
{
public static void Main(string[] args)
{
int[] nums = new int[] { 10, 20, 30 };
Console.WriteLine("Length = " + nums.Length);
Console.WriteLine("First = " + nums[0]);
Console.WriteLine("Last = " + nums[nums.Length - 1]);
// Update by index
nums[1] = 25;
Console.WriteLine("Updated middle = " + nums[1]);
}
}
Срез массива через копирование
В C# 6 нет оператора диапазона. Создайте небольшой вспомогательный метод с помощью Array.Copy, чтобы скопировать срез.
using System;
public class Program
{
// Copy a slice [start, start+count) into a new array
public static int[] Slice(int[] src, int start, int count)
{
int[] dst = new int[count];
Array.Copy(src, start, dst, 0, count);
return dst;
}
public static void Main(string[] args)
{
int[] data = new int[] { 5, 6, 7, 8, 9 };
int[] middle = Slice(data, 1, 3); // {6,7,8}
Console.WriteLine("Slice len=" + middle.Length + " first=" + middle[0] + " last=" + middle[middle.Length - 1]);
}
}
Основы списка<T>
Список<T> автоматически изменяет размер. Используйте Add/Insert/Remove и количество элементов.
using System;
using System.Collections.Generic;
public class Program
{
public static void Main(string[] args)
{
List<string> items = new List<string>();
items.Add("apple");
items.Add("banana");
items.Insert(1, "kiwi"); // apple, kiwi, banana
Console.WriteLine("Count = " + items.Count);
Console.WriteLine("Second = " + items[1]);
items.Remove("apple");
Console.WriteLine("After remove, first = " + items[0]);
}
}
Основы словаря
Словарь хранит пары «ключ—значение». Для безопасного поиска используйте ContainsKey/TryGetValue.
using System;
using System.Collections.Generic;
public class Program
{
public static void Main(string[] args)
{
Dictionary<string, int> ages = new Dictionary<string, int>();
ages["Ada"] = 28; // add
ages["Alan"] = 35; // add
ages["Alan"] = 36; // update
int value;
if (ages.TryGetValue("Ada", out value))
{
Console.WriteLine("Ada age = " + value);
}
Console.WriteLine("Has Grace? " + ages.ContainsKey("Grace"));
}
}
Выбор коллекций
Выбирайте:
- массив для фиксированного размера и числовой индексации
- список<T>, когда размер изменяется
- словарь<K,V>, когда у вас есть уникальные ключи
- Копируйте срезы с помощью вспомогательного метода Array.Copy
Выбор поиска по ключу
Итоги
Итоги: массивы имеют фиксированный размер; копируйте срезы с помощью Array.Copy. Используйте списки<T> для динамических списков и словари<K,V> для быстрого поиска по ключу.
Часто задаваемые вопросы
Урок «Массивы, срезы, List<T>, Dictionary<TKey,TValue>» бесплатный?
Да — полный текст урока «Массивы, срезы, List<T>, Dictionary<TKey,TValue>» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс C# Academy, подпишись на CoddyKit PRO. Курс C# Academy содержит 3 уроков всего.
Чему я научусь в уроке «Массивы, срезы, List<T>, Dictionary<TKey,TValue>»?
Создавайте и используйте массивы, копируйте срезы и работайте с List и Dictionary для динамических элементов и поиска по ключу. Ты практикуешь C# Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.
Нужен ли мне опыт, чтобы начать C# Academy?
Предыдущий опыт не требуется. C# Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 1 из 3.
Сколько времени занимает урок «Массивы, срезы, List<T>, Dictionary<TKey,TValue>»?
Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.
Можно ли писать и запускать код в этом уроке C# Academy?
Да. Каждый урок C# Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.
Все уроки этого курса
- Массивы, срезы, List , Dictionary
- Шаблоны foreach и инициализаторы коллекций
- Обзор LINQ: Where, Select, OrderBy, Take/Skip; отложенное выполнение