0Pricing
C# Academy · Урок

Массивы, срезы, 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]);
  }
}

Основы списка&lt;T&gt;

Список<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 — локальная установка не требуется.

Все уроки этого курса

  1. Массивы, срезы, List , Dictionary
  2. Шаблоны foreach и инициализаторы коллекций
  3. Обзор LINQ: Where, Select, OrderBy, Take/Skip; отложенное выполнение
← Назад к C# Academy