Hello World
1ď¸âŁ Introduzione
Che cosâè C#?
C# (si pronuncia "C-Sharp") è un linguaggio di programmazione orientato agli oggetti sviluppato da Microsoft come parte della piattaforma .NET. Fu introdotto per la prima volta nel 2000 e progettato per combinare la potenza di linguaggi come C++ con la semplicitĂ e la sicurezza di linguaggi come Java. C# è utilizzato per lo sviluppo di applicazioni desktop, web, mobili e giochi (specialmente con Unity) grazie alla sua versatilitĂ e integrazione profonda con lâecosistema Microsoft.
Caratteristiche principali di C#:
- Orientato agli oggetti: C# adotta il paradigma della programmazione orientata agli oggetti, facilitando la modellazione e lâorganizzazione del codice come una collezione di oggetti che interagiscono tra loro.
- Portabilità : Attraverso la piattaforma .NET, il codice C# può essere eseguito su diversi sistemi operativi, come Windows, macOS e Linux, rendendolo molto versatile.
- Sicurezza e controllo dei tipi: C# ha un sistema di tipi forte e controllato, minimizzando errori di tipo e fornendo protezione alla memoria.
- Automatic Memory Management: Come Java, anche C# gestisce automaticamente la memoria attraverso il garbage collector, che recupera e gestisce la memoria in modo efficiente.
- Multithreading e asincronia: C# supporta il multithreading, e offre potenti strumenti per la programmazione asincrona (async/await), facilitando lo sviluppo di applicazioni reattive e performanti.
- Estensione delle librerie: C# ha unâampia collezione di librerie (API .NET) che forniscono funzionalitĂ per interfacce grafiche, accesso ai dati, networking, I/O e molto altro.
Grazie alla sua flessibilità , C# è largamente usato nello sviluppo di applicazioni aziendali, web, giochi (soprattutto con il motore Unity), e per servizi cloud con Microsoft Azure.
2ď¸âŁ Struttura di un programma C#
- Ogni classe viene definita in un file con lo stesso nome della classe e lâestensione
.cs
.
- La struttura di unâapplicazione C# inizia con una classe che contiene il metodo
Main
, che rappresenta il punto di partenza del programma.
- Come in Java, anche in C# il paradigma della programmazione orientata agli oggetti (OOP) è centrale, con unâorganizzazione basata su oggetti.
Oggetti
- Gli oggetti in C# hanno proprietĂ (dati) e metodi (comportamenti).
- Esempio: un oggetto "Car" può avere proprietà come "colore", "modello", "anno" e comportamenti come "accelera", "frena", ecc.
- Le classi sono come "stampini" per creare oggetti; definiscono la struttura e il comportamento degli oggetti che rappresentano.
- Per creare un oggetto, si utilizza lâoperatore
new
e si invoca un costruttore, che ha lo stesso nome della classe.
Tipi di dato
Ci sono due categorie di tipi di dato in C#:
- Tipi primitivi:
- int, float, double, char, bool, ecc.
- Tipi complessi:
- String, Array, List, Dictionary (collezioni di .NET)
- Classi definite dall'utente.
Confronto con Java
- C# condivide molte somiglianze con Java, soprattutto nella sintassi e nei principi di programmazione.
- C# utilizza
bool
come tipo booleano, che non è compatibile conint
.
- Alcuni costrutti come
foreach
easync/await
sono piĂš potenti in C# rispetto a Java, rendendo certe operazioni piĂš semplici da eseguire.
Esempio di un semplice programma in C#:
using System;
namespace HelloWorld // namespace che contiene la classe
{
public class Program
{
public static void Main(string[] args)
{
Console.WriteLine("Hello, World!");
int x = 5;
int y = 2;
int z = x + y;
int t = x * y;
int h = x / y;
Console.WriteLine("x + y = " + z);
Console.WriteLine("x * y = " + t);
Console.WriteLine("x / y = " + h);
for (int i = 0; i < 10; i++)
{
Console.Write(i + " ");
}
}
}
}
đ Esercizi
- Scrivi un programma in C# che chieda all'utente di inserire due numeri e ne calcoli la somma.
- Crea una classe
Persona
con proprietĂNome
eEtĂ
, e un metodoSaluta
che stampa un messaggio di saluto personalizzato.
- Scrivi un programma che utilizza un ciclo
for
per stampare i numeri pari da 1 a 20.