Passaggio 2: aggiungere un oggetto casuale e un elenco di icone
È necessario utilizzare due istruzioni new per creare due oggetti e aggiungerli al form.Il primo è un oggetto Random, simile a quello utilizzato nel quiz matematico.Il secondo è un oggetto nuovo: List.
Per aggiungere un oggetto casuale e un elenco di icone
Prima di aggiungere il codice seguente per creare l'elenco, considerarne il funzionamento.
Public Class Form1 ' Use this Random object to choose random icons for the squares Dim random As New Random ' Each of these letters is an interesting icon ' in the Webdings font, ' and each icon appears twice in this list Dim temporaryArray() As String = {"!", "!", "N", "N", ",", ",", "k", "k", _ "b", "b", "v", "v", "w", "w", "z", "z"} Dim icons As List(Of String) = temporaryArray.ToList()
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" };
Andare all'editor di codice facendo clic con il pulsante destro del mouse su Form1.cs in Esplora soluzioni, quindi facendo clic su Visualizza codice nel menu.Iniziare a digitare il codice illustrato nel passaggio precedente.Se si utilizza codice Visual C#, assicurarsi di inserire il codice dopo la parentesi graffa di apertura, appena dopo la dichiarazione di classe (public partial class Form1 : Form).Se si utilizza codice Visual Basic, inserire il codice subito dopo la dichiarazione di classe (Public Class Form1).
Quando si aggiunge l'oggetto List, esaminare attentamente la finestra di IntelliSense visualizzata.Di seguito è riportato un esempio in Visual C#.Un testo simile apparirà se si aggiunge un elenco in Visual Basic.
Finestra di IntelliSense
Nota
Se si analizza il codice in piccole sezioni, è più facile da comprendere.I programmi possono utilizzare oggetti List per tenere traccia di molti elementi.Un elenco può contenere numeri, valori true/false, testo o altri oggetti.Un oggetto List può persino contenere altri oggetti List.Gli oggetti contenuti in un elenco sono definiti elementi e ogni elenco contiene un solo tipo di elemento.Un elenco di numeri, ad esempio, può contenere solo numeri; non è possibile aggiungervi testo.Così come non è possibile aggiungere numeri a un elenco di valori true/false.
Nota
Quando si crea un oggetto List utilizzando un'istruzione new, è necessario indicare cosa deve contenere.Per questo la descrizione comandi in cima alla finestra di IntelliSense mostra il tipo di elementi nell'elenco.Inoltre, ecco cosa significa List<string> (in Visual C#) e List(Of String) (in Visual Basic): è un oggetto List che contiene stringhe.Il programma utilizza le stringhe per archiviare il testo, vale a dire l'indicazione contenuta nella descrizione comandi a destra della finestra di IntelliSense.
Considerare il perché in Visual Basic sia necessario innanzitutto creare una matrice temporanea, mentre in Visual C# è possibile creare l'elenco con un'unica istruzione.La spiegazione è che il linguaggio Visual C# include inizializzatori di insieme.In Visual Basic 2010 è possibile utilizzare un inizializzatore di insieme.Tuttavia, per motivi di compatibilità con la versione precedente di Visual Basic, si consiglia di utilizzare il codice precedente.
Nota
Quando si utilizza un inizializzatore di insieme con un'istruzione new, una volta creato il nuovo oggetto List, il programma vi colloca tutti gli oggetti racchiusi tra le parentesi graffe.In questo caso, si ottiene un elenco di stringhe denominate icone e l'elenco sarà inizializzato in modo da contenere sedici stringhe.Ognuna di quelle stringhe è una singola lettera, e insieme corrispondono alle icone che saranno nelle etichette.Il gioco conterrà quindi una coppia di punti esclamativi, una coppia di lettere N maiuscole, una coppia di virgole e così via.L'oggetto List avrà in tutto sedici stringhe, una per ogni cella di TableLayoutPanel.
Nota
In Visual Basic si ottiene lo stesso risultato, ma prima le stringhe vengono inserite in una matrice temporanea, quindi questa viene convertita in un oggetto List.Una matrice è simile a un elenco, salvo ad esempio che le matrici vengono create con una dimensione fissa.Gli elenchi possono essere ridotti o ingranditi in base alle necessità, caratteristica importante in questo programma.
Per continuare o rivedere
Per andare al passaggio successivo dell'esercitazione, vedere Passaggio 3: assegnare un'icona casuale a ogni etichetta.
Per tornare al passaggio precedente dell'esercitazione, vedere Passaggio 1: creare un progetto e aggiungere una tabella al form.