000141. Списки в c#. Запуск нескольких скритов в GTA 4

Списки в c#. Запуск нескольких скритов в GTA 4||wmysterio|wmysterio|wmysterio@yandex.ru|||Всем прива! Этот урок будет содержать в себе 2 темы. Одна тема общая как для программирования в c#, так и для скриптинга GTA 4 - это списки. Мы узнаем как создавать списки и рассмотрим некоторые примеры. Во второй части урока Вы узнаете как создать 2 скрипта для GTA 4 в одном файле. Списки очень похожи на массивы. Они могут содержать данные только одного типа данных, могут обращаться к элементам по индексу, но главное их отличие - динамическое изменение. если массивы имеют фиксированную длину, то списки более универсальны - длина может быть любой. Как уже было сказано, списки могут обращаться к данным по индексу: записывать и читать, но это возможно только в том случаи, если элемент был записан ранее. Шаблоном для объявления списка можно считать этот вариант:

Мы указываем класс List, который будет содержать значения типа int, указанных в треугольных скобках. Имя списка пусть будет MyList. Далее мы пользуемся конструктором, чтобы создать объект класса. Так как списки динамичны, то и добавлять/удалять элементы можно также динамически. Чтобы добавить элемент нужно воспользоваться командой:

Внутри скобок мы указываем сущность, что будет добавлена в список. Тип этой сущности должен соответствовать типу самого списка. В данном случаи было добавлено число типа int. Чтобы удалить из списка элемент, нужно воспользоваться командой:

Важно! Нужно указывать элемент, а не индекс! Чтобы удалить элемент по-индексу, нужно воспользоваться командой:

0 - это индекс существующего элемента. Таким образом из списка будет удалена пятёрка. Удалять также можно по диапазону. Для этого воспользуемся командой:

Здесь: 0 - указываем начальную позицию(индекс); 1 - количество элементов от индекса, которых нужно удалить из списка. Чтобы удалить все элементы списка, достаточно выполнить процедуру очистки:

Чтобы проверить количество всех элементов достаточно воспользоваться командой:

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

Здесь: 6 - индекс в списке, куда нужно вставить элемент; 15 - сам элемент. Важно! Индекс всегда обязательно должен существовать. Иными словами на 6 позиции в списке уже должен существовать элемент. Исключением является индекс 0 - элементы будут помещаться в начало списка. Также есть возможность конвертировать список в массив. Для этого можно воспользоваться процедурой:

Тип массива и тип списка должны совпадать. дальше с массивом можно делать всё что угодно. Хотел бы рассказать об одной полезной возможности, которая есть во многих стандартный классах коллекций: поиск элемента в коллекции. Чтобы найти первый элемент вхождения нужно применить команду:

Здесь: 30 - это элемент, который нужно найти в списке. q - в эту переменную будет возвращён ИНДЕКС первого вхождения. Если элемент не был найден, то в переменную будет возвращено число -1. Для поиска последнего вхождения элемента в список(последний индекс) нужно пользоваться:

Вторая часть урока будет ближе к СкриптХуку и здесь я объясню как сделать два скрипта в одном файле. Как известно скрипт будет считаться скриптом только в том случаи, если класс наследуется от Script. Из этого можно сделать вывод, что следующий код будет запускать сразу 2 скрипта:

Из этого можно провести аналогию, что namespace - это главный поток :MAIN из Sanny Builder, а Demo1 и Demo2 - созданные им потоки. Следовательно код выше можно сравнить с этим:

Для полного сравнения напишем код для c# и Sanny Builder:

Внимание! С этого момента уроки по c# разбиваются на 2 русла. Первой будет идти непосредственно по СкриптХуку, второе - по программировании в c#, которое я буду вести параллельно с остальными. С Вами был wmysterio, пока!|1564|1|0|85711019png385`271||spiski_v_c_zapusk_neskolkikh_skritov_v_gta_4|1392798730

Last updated