Hello World - Esercitazione interattiva introduttiva
In questa esercitazione il linguaggio C# viene insegnato in modo interattivo, usando il browser per scrivere codice C# e visualizzare i risultati della compilazione ed esecuzione del codice. Contiene una serie di lezioni che iniziano con un programma "Hello World". Queste lezioni presentano le nozioni fondamentali del linguaggio C#.
Suggerimento
Per incollare un frammento di codice nella modalità messa a fuoco è consigliabile usare le scelte rapide da tastiera (CTRL + V o CMD + V).
Esegui il tuo primo programma
Eseguire il codice seguente nella finestra interattiva. Selezionare il pulsante Attiva modalità messa a fuoco. Digitare quindi il blocco di codice seguente nella finestra interattiva e selezionare Esegui:
Console.WriteLine("Hello World!");
Complimenti. È stato eseguito il primo programma C#, ovvero un semplice programma che stampa il messaggio "Hello World!". Per stampare il messaggio, viene usato il metodo Console.WriteLine. Console
è un tipo che rappresenta la finestra della console. WriteLine
è un metodo del tipo Console
che stampa una riga di testo nella console di testo.
Nel resto di questa lezione viene descritto l'uso del tipo string
, che rappresenta il testo in C#. Come il tipo Console
, anche per il tipo string
sono disponibili metodi. I metodi string
operano sul testo.
Dichiarare e usare le variabili
Questo primo programma ha eseguito la string
"Hello World!" sullo schermo.
Suggerimento
Mentre si impara a usare C# (o qualsiasi linguaggio di programmazione) sicuramente si commetteranno errori durante la scrittura del codice. Il compilatore troverà questi errori e li segnalerà. Quando l'output contiene messaggi di errore, esaminare attentamente il codice di esempio e il codice nella finestra interattiva per scoprire cosa correggere. Questo esercizio sarà utile per imparare la struttura del codice C#.
Il primo programma è limitato alla stampa di un solo messaggio. È possibile scrivere programmi più utili usando le variabili. Una variabile è un simbolo utilizzabile per eseguire lo stesso codice con valori diversi. come illustrato di seguito. sostituire il codice scritto nella finestra interattiva con il codice seguente:
string aFriend = "Bill";
Console.WriteLine(aFriend);
La prima riga dichiara una variabile, aFriend
, e la assegna un valore, "Bill". La seconda riga stampa il nome.
È possibile assegnare valori diversi a qualsiasi variabile dichiarata. È possibile sostituire il nome con quello di un amico. Aggiungere queste due righe nella finestra interattiva seguendo il codice già aggiunto. Assicurarsi di mantenere la dichiarazione della variabile aFriend
e l'assegnazione iniziale.
Importante
Non eliminare la dichiarazione aFriend
. Aggiungere il codice seguente dopo la dichiarazione esistente.
aFriend = "Maira";
Console.WriteLine(aFriend);
Si noti che la stessa riga di codice stampa due messaggi diversi, in base al valore archiviato nella variabile aFriend
.
Forse si è anche notato che la parola "Hello" manca negli ultime due messaggi. Per ovviare a questa mancanza, modificare ora le righe che stampano il messaggio come segue:
Console.WriteLine("Hello " + aFriend);
Selezionare di nuovo Esegui per visualizzare i risultati.
Finora è stato usato +
per creare nuove stringhe da stringhe variabili e costanti. Esiste un modo migliore.
È possibile inserire una variabile tra i caratteri {
e }
per indicare a C# di sostituire il testo con il valore della variabile.
Questo metodo viene definito Interpolazione di stringhe.
Se si aggiunge $
prima delle virgolette di apertura della stringa, è possibile includere variabili come aFriend
nella stringa tra parentesi graffe. Ad esempio:
Console.WriteLine($"Hello {aFriend}");
Selezionare di nuovo Esegui per visualizzare i risultati. Anziché "Hello {aFriend}", il messaggio deve essere "Hello Maira".
Usare le stringhe
L'ultima modifica era solo un assaggio di quello che si può fare con le stringhe. L'esplorazione continua nelle prossime lezioni.
È possibile includere più di una variabile tra parentesi graffe. Provare a eseguire quanto segue:
string firstFriend = "Maria";
string secondFriend = "Sage";
Console.WriteLine($"My friends are {firstFriend} and {secondFriend}");
Per eseguire operazioni più avanzate con le stringhe, è utile sapere che le stringhe sono più di una semplice raccolta di lettere. È possibile trovare la lunghezza di una stringa con Length
. Length
è una proprietà di una stringa e restituisce il numero di caratteri nella stringa. Aggiungere il codice seguente nella parte inferiore della finestra interattiva:
Console.WriteLine($"The name {firstFriend} has {firstFriend.Length} letters.");
Console.WriteLine($"The name {secondFriend} has {secondFriend.Length} letters.");
Suggerimento
Può essere un buon momento per sperimentare da soli. Si è appreso che Console.WriteLine()
scrive testo sullo schermo. È stato spiegato come dichiarare le variabili e concatenare le stringhe. Sperimentare nella finestra interattiva Nella finestra è disponibile una funzionalità denominata IntelliSense che offre suggerimenti sulle operazioni che è possibile eseguire. Digitare .
dopo d
in firstFriend
. Verrà visualizzato un elenco di suggerimenti sulle proprietà e i metodi che è possibile usare.
Altre operazioni sulle stringhe
Si è visto come usare un metodo, Console.WriteLine, per stampare messaggi. Un metodo è un blocco di codice che implementa un'azione. I metodi hanno un nome, quindi sono accessibili.
Taglia
Si supponga che le stringhe contengano spazi iniziali o finali che non si vuole visualizzare. È quindi necessario tagliare gli spazi dalle stringhe. A questo scopo, è possibile usare il metodo Trim e i metodi correlati TrimStart e TrimEnd. È sufficiente usare questi metodi per rimuovere gli spazi iniziali e finali. Provare il codice seguente:
string greeting = " Hello World! ";
Console.WriteLine($"[{greeting}]");
string trimmedGreeting = greeting.TrimStart();
Console.WriteLine($"[{trimmedGreeting}]");
trimmedGreeting = greeting.TrimEnd();
Console.WriteLine($"[{trimmedGreeting}]");
trimmedGreeting = greeting.Trim();
Console.WriteLine($"[{trimmedGreeting}]");
Le parentesi quadre [
e ]
consentono di visualizzare le operazioni eseguite dai metodi Trim
, TrimStart
e TrimEnd
. Le parentesi quadre mostrano dove inizia e termina lo spazio vuoto.
Questo esempio mette in rilievo un paio di concetti importanti correlati all'uso delle stringhe. I metodi che operano sulle stringhe restituiscono nuovi oggetti stringa, anziché apportare le modifiche sul posto. Si può notare che ogni chiamata di uno qualsiasi dei metodi Trim
restituisce una nuova stringa, ma non modifica il messaggio originale.
Sostituzione
Sono disponibili altri metodi per lavorare su una stringa. È probabile, ad esempio, che in precedenza si sia usato un comando per la ricerca e la sostituzione in un editor o un elaboratore di testo. Il metodo Replace esegue un'operazione simile in una stringa, ovvero cerca una sottostringa e la sostituisce con testo diverso. Il metodo Replace accetta due parametri. Queste sono le stringhe tra parentesi. La prima stringa è il testo da cercare. La seconda stringa è il testo sostitutivo. Provare in autonomia per testare la funzione. Aggiungere questo codice. Digitarlo per visualizzare i suggerimenti fin dal momento in cui si inizia a digitare .Re
dopo la variabile sayHello
:
string sayHello = "Hello World!";
Console.WriteLine(sayHello);
sayHello = sayHello.Replace("Hello", "Greetings");
Console.WriteLine(sayHello);
Altri due metodi utili consentono di trasformare una stringa in tutte maiuscole o tutte minuscole. Provare il codice seguente. Digitarlo per vedere come IntelliSense offre suggerimenti fin dal momento in cui si inizia a digitare To
:
Console.WriteLine(sayHello.ToUpper());
Console.WriteLine(sayHello.ToLower());
Stringhe di ricerca
L'altra parte di un'operazione di ricerca e sostituzione consiste nel trovare testo all'interno di una stringa. È possibile usare il metodo Contains per la ricerca. Questo metodo indica se una stringa contiene una sottostringa. Provare il codice seguente per sperimentare Contains:
string songLyrics = "You say goodbye, and I say hello";
Console.WriteLine(songLyrics.Contains("goodbye"));
Console.WriteLine(songLyrics.Contains("greetings"));
Il metodo Contains restituisce un valore booleano che indica se la stringa di ricerca è stata trovata. Un valore booleano archivia un valore true
o false
. True
e False
vengono scritti rispettivamente in lettere maiuscole quando vengono visualizzati come output di testo. In una lezione successiva verranno fornite ulteriori informazioni sui valori booleani.
Esercizio
Esistono altri due metodi simili, StartsWith e EndsWith che consentono di cercare sottostringhe in una stringa, in particolare di trovare una sottostringa all'inizio o alla fine della stringa. Provare a modificare l'esempio precedente per usare StartsWith e EndsWith invece di Contains. Cercare "You" o "goodbye" all'inizio di una stringa. Cercare "hello" o "goodbye" alla fine di una stringa.
Nota
Tenere conto della punteggiatura per la ricerca del testo alla fine della stringa. Se la stringa termina con un punto, è necessario cercare una stringa che termina con un punto.
Si dovrebbe ottenere true
per aver iniziato con "You" e terminato con "hello" e false
per aver iniziato con o terminato con "goodbye".
Completare l'esercizio
I risultati ottenuti sono simili a questi?
string songLyrics = "You say goodbye, and I say hello";
Console.WriteLine(songLyrics.StartsWith("You"));
Console.WriteLine(songLyrics.StartsWith("goodbye"));
Console.WriteLine(songLyrics.EndsWith("hello"));
Console.WriteLine(songLyrics.EndsWith("goodbye"));
Congratulazioni!
È stata completata l'esercitazione introduttiva "Hello C#". È possibile selezionare il collegamento Numeri in C# qui sotto per avviare l'esercitazione interattiva successiva oppure visitare il sito .NET per scaricare l’SDK .NET, creare un progetto sul computer e continuare a scrivere codice. La sezione "Passaggi successivi" consente di tornare a queste esercitazioni.
Altre informazioni sul tipo string
:
Hai un problema con questa sezione? In caso di problemi, fornisci feedback per contribuire al miglioramento della sezione.