<MyRusakov.ru />

Программирование на C++ в Unreal Engine 5

Программирование на C++ в Unreal Engine 5

Данный курс научит Вас созданию игр на C++ в Unreal Engine 5. Курс состоит из 12 разделов, в которых Вас ждёт теория и практика. Причём, в качестве практики будет создан весьма крупный проект объёмом свыше 5000 строк качественного кода, который уже на практике познакомит Вас с принципами создания игр на C++ в Unreal Engine 5.

Параллельно с курсом Вы также будете получать домашние задания, результатом которых станет, в том числе, полноценная серьёзная работа для портфолио.

Помимо самого курса Вас ждёт ещё и очень ценный Бонус: «Тестирование Unreal-проектов на Python», в рамках которого Вы научитесь писать очень полезные тесты для тестирования самых разных аспектов разработки игр.

Подробнее
Подписка

Подпишитесь на мой канал на YouTube, где я регулярно публикую новые видео.

YouTube Подписаться

Подписавшись по E-mail, Вы будете получать уведомления о новых статьях.

Подписка Подписаться

Добавляйтесь ко мне в друзья ВКонтакте! Отзывы о сайте и обо мне оставляйте в моей группе.

Мой аккаунт Мой аккаунт Моя группа
Опрос

Какая тема Вас интересует больше?

Массивы в C#

Массивы в C#

В данной статье мы разберем основы работы с массивами в C#: их свойства и базовые операции, которые можно над ними выполнять.

Массивы используются для хранения нескольких значений одного типа в переменной с одним названием. Чтобы объявить массив, необходимо определить тип переменной, и сразу после него указать квадратные скобки:


string[] firms;

Вот таким образом мы объявили переменную, которая содержит массив строк.

Чтобы добавить значения в массив, мы можем использовать литерал массива - список значений, разделенный запятыми, внутри фигурных скобок:


string[] firms = {"Yandex", "Google", "Apple", "Amazon"};

Чтобы создать массив из целых чисел, можно написать:


int[] ages = { 8, 12, 21, 42 };

Доступ к элементам массива

Для того, чтобы получить доступ к определенному элементу массива, необходимо использовать его индекс, передав значение индекса в квадратные скобки. При этом, надо учитывать, что индексы массива начинаются с 0: [0] - это первый элемент. [1] - это второй элемент и т. д.


string[] firms = {"Yandex", "Google", "Apple", "Amazon"};
Console.WriteLine(firms[0]); // Yandex

Изменение элемента массива


firms[0] = "Mail.Ru";


string[] firms = {"Yandex", "Google", "Apple", "Amazon"};
firms[0] = "Mail.Ru";
Console.WriteLine(firms[0]);

Длина массива

Чтобы узнать, сколько элементов содержит массив в C#, нужно использовать свойство Length:


string[] firms = {"Yandex", "Google", "Apple", "Amazon"};
Console.WriteLine(firms.Length); // 4

Цикл по массиву

По всем элементам массива в C# можно пройтись с помощью цикла for, используя свойство Length как ограничивающее условие.

В следующем примере выводятся все элементы массива cars:


string[] firms = {"Yandex", "Google", "Apple", "Amazon"};
int firmsLen = firms.Length;

for (int i = 0; i < firmsLen; i++) 
{
  Console.WriteLine(firms[i]);
}

Цикл foreach

Существует также цикл foreach, который используется исключительно для перебора элементов в массиве: У него следующий синтаксис:


string[] firms = {"Yandex", "Google", "Apple", "Amazon"};

foreach (string firm in firms) 
{
  Console.WriteLine(firm);
}

Если вы сравните цикл for и цикл foreach, то увидите, что цикл foreach проще писать, он не требует счетчика (c использованием свойства Length) и более читаем, поэтому, его стоит использовать настолько часто, насколько возможно.

Сортировка Массивов

У массивов существует множество методов, один из них - Sort(), который сортирует массив по алфавиту или в порядке возрастания:


string[] firms = {"Yandex", "Google", "Apple", "Amazon"};
// сортирует строки
Array.Sort(firms);

foreach (string firm in firms) 
{
  Console.WriteLine(firm);
}



int[] ages = {5, 1, 8, 9};
// сортирует числа
Array.Sort(ages);

foreach (int age in ages)
{
  Console.WriteLine(age);
}

Пространство имен System.Linq

Также наиболее общеупотребительные методы массивов есть в пространство имен System.Linq: Min, Max и Sum. Подключается это пространство имен с помощью директивы using, а методы вызываются непосредственно на переменной массива:


using System;
using System.Linq; // подключаем, для работы с массивами

namespace MyApplication
{
  class Program
  {
    static void Main(string[] args)
    {
      int[] paymenst = {500, 1200, 800, 190};
      Console.WriteLine(paymenst.Max());  // возвращает наибольшее значение
      Console.WriteLine(paymenst.Min());  // возвращает наименьшее значение
      Console.WriteLine(paymenst.Sum());  // возвращает сумму элементов

    }
  }
}

Другие способы создания массива

В C# массивы могут быть созданы различными способами:


// Создаем  массив из четырех элементов, а значение добавляется позже
string[] firms = new string[4];

// Создаем массив из четырех элементов и сразу же добавляем значения
string[] firms = new string[4] {"Yandex", "Google", "Apple", "Amazon"};

// Создать массив из четырех элементов без указания размера
string[] firms = new string[] {"Yandex", "Google", "Apple", "Amazon"};

// Создаем массив из четырех элементов, без ключевого слова new и не указывая размер
string[] firms = {"Yandex", "Google", "Apple", "Amazon"};

Однако заметьте, что если вы сначала объявите переменную, которая будет содержать массив, а инициализируете ее позже, то Вам придется использовать ключевое слово new:


// Объявить массив
string[] firms;

// Добавить значения, используя new
firms = new string[] {"Yandex", "Google", "Apple", "Amazon"};

// так не получится - вызовет ошибку
firms = {"Yandex", "Google", "Apple", "Amazon"};

Таким образом, Вы познакомились с основными особенностями массивов в C#.

Копирование материалов разрешается только с указанием автора (Михаил Русаков) и индексируемой прямой ссылкой на сайт (http://myrusakov.ru)!

Добавляйтесь ко мне в друзья ВКонтакте: http://vk.com/myrusakov.
Если Вы хотите дать оценку мне и моей работе, то напишите её в моей группе: http://vk.com/rusakovmy.

Если Вы не хотите пропустить новые материалы на сайте,
то Вы можете подписаться на обновления: Подписаться на обновления

Если у Вас остались какие-либо вопросы, либо у Вас есть желание высказаться по поводу этой статьи, то Вы можете оставить свой комментарий внизу страницы.

Порекомендуйте эту статью друзьям:

Если Вам понравился сайт, то разместите ссылку на него (у себя на сайте, на форуме, в контакте):

  1. Кнопка:

    Она выглядит вот так: Как создать свой сайт

  2. Текстовая ссылка:

    Она выглядит вот так: Как создать свой сайт

  3. BB-код ссылки для форумов (например, можете поставить её в подписи):

Комментарии (5):

Salex Salex 15.03.2023 12:05:12

Благодарю! Хочу попросить о помощи в C#. Не могу довести задуманное до завершения. Не понимаю (а может быть это вообще не возможно сделать в C#?). Вопрос: 6 кнопок в ряд. По завершении программы на них надписи Х, О и свободные от текста. Как программно (C#) подсчитать сколько Х, сколько О и сколько свободных. Индексы кнопок от 0 до 5. Заранее благодарю. Мой e-mail: sihi13@yandex.com

Ответить

Castels Castels 17.03.2023 14:53:18

Здравствуйте! Уточните, пожалуйста, что за программа - сами написали или нет? Желательно, если есть, покажите что Вы уже сами сделали

Ответить

Salex Salex 17.03.2023 18:36:37

Программу писал сам (иногда подглядывая в интернет). Это моя первая на C#. За основу взяты "Крестики-Нолики 3х3". Но кнопки расположены в 1 ряд всего 6 шт. Две кнопки управления для 2 игроков. Кликая по кнопке получаем рандомно значения от 1 до 6, первая кнопка играет за "Х", вторая - за "О". Причем тексты на кнопках не блокируются, поэтому на них теперь записываются "О" и вытираются "Х" если совпадают рандомные значения. В Итоге есть сколько то "Х", сколько то "О" и есть кнопки вообще пустые. Вот тут я и притормозил. Как сосчитать сколько "Х", сколько "О" и сколько "Пустых"? Могу выслать листинг, только укажите как и куда?

Ответить

Castels Castels 18.03.2023 09:21:14

Разместите, пожалуйста, на Github Ваш код, и дайте ссылку на репозиторий

Ответить

Salex Salex 18.03.2023 11:03:59

Спасибо! Но к указанному Вами сайту я не имею никакого отношения. Вы единственные к которым я подписался из-за C#. Хорошо. не утруждайтесь. Решу проблему сам. Спасибо что отвечали.

Ответить

Для добавления комментариев надо войти в систему.
Если Вы ещё не зарегистрированы на сайте, то сначала зарегистрируйтесь.