Поделиться через


Шаг 2. Добавление случайного объекта и списка значков

Необходимо использовать два оператора new для создания двух объектов и добавления их в форму.Первый является объектом Random. Такой же объект использовался в игре "Математическая головоломка".Второй является новым объектом List.

Добавление случайного объекта и списка значков

  1. Перед добавлением следующего кода для создания списка разберитесь в принципе его работы.

    Public Class Form1
    
        ' Use this Random object to choose random icons for the squares
        Private random As New Random
    
        ' Each of these letters is an interesting icon
        ' in the Webdings font,
        ' and each icon appears twice in this list
        Private icons =
          New List(Of String) From {"!", "!", "N", "N", ",", ",", "k", "k",
                                    "b", "b", "v", "v", "w", "w", "z", "z"}
    
    public partial class Form1 : Form
    {
        // Use this Random object to choose random icons for the squares
        Random random = new Random();
    
        // Each of these letters is an interesting icon
        // in the Webdings font,
        // and each icon appears twice in this list
        List<string> icons = new List<string>() 
        { 
            "!", "!", "N", "N", ",", ",", "k", "k",
            "b", "b", "v", "v", "w", "w", "z", "z"
        };
    
  2. Перейдите в редактор кода, щелкнув правой кнопкой мыши Form1.cs в Обозревателе решений и выбрав в меню команду Перейти к коду.Начните вводить код, показанный в предыдущем шаге.При написании кода на языке Visual C# убедитесь, что вы помещаете код после открывающей фигурной скобки и сразу после объявления класса (public partial class Form1 : Form).При написании кода на языке Visual Basic поместите код сразу после объявления класса (Public Class Form1).

  3. При добавлении объекта List внимательно изучите открывшееся окно IntelliSense.Ниже приведен пример на языке Visual C#.(Аналогичный текст появится при добавлении списка в Visual Basic.)

    Окно IntelliSense

    Окно свойств с событием Click

    ПримечаниеПримечание

    Код проще понять, если рассматривать его небольшими частями.В ваших программах могут использоваться объекты List для отслеживания множества элементов.Список может содержать числа, значения true или false, текст и другие объекты.Также объект List может содержать другие объекты List.Список состоит из элементов, и каждый список содержит только один тип элементов.Поэтому список чисел может содержать только числа. В него нельзя добавить текст.Также нельзя добавлять числа в список значений true или false.

    ПримечаниеПримечание

    При создании объекта List с помощью оператора new необходимо указать ему, какие данные будут храниться в этом объекте.Вот почему подсказка в верхней части окна IntelliSense отображает тип элементов списка.Вот что значит код List<string> (в Visual C#) и List(Of String) (в Visual Basic) — это объект List, содержащий строки.Строка используется программой для хранения текста, о чем и сообщается в подсказке справа от окна IntelliSense.

  4. Рассмотрим, почему в Visual Basic сначала необходимо создать временный массив, а в Visual C# можно создавать список с помощью одного оператора.Это обусловлено тем, что в языке Visual C# имеются инициализаторы коллекции.В Visual Basic 2010 можно использовать инициализатор коллекции.Однако для обеспечения совместимости с предыдущей версией Visual Basic рекомендуется использовать предыдущий код.

    ПримечаниеПримечание

    При использовании инициализатора коллекции с оператором new после создания нового объекта List программа заполняет его данными, которые указаны внутри фигурных скобок.В этом случае будет инициализирован список строк с именем icons, содержащий шестнадцать строк.Каждая из этих строк представляет одну букву, которая соответствует значку, отображаемому в метке.Таким образом, игра будет иметь пару восклицательных знаков, пару прописных букв N, пару запятых и т. д.Объект List будет содержать шестнадцать строк, по одной для каждой ячейки в TableLayoutPanel.

    ПримечаниеПримечание

    В Visual Basic получится такой же результат, но сначала строки помещаются во временный массив, который затем преобразуется в объект List.Массив похож на список, за исключением того, например, что массивы создаются фиксированного размера.Списки можно уменьшать и увеличивать по мере необходимости, что важно для этой программы.

Продолжить или повторить пройденный материал