- 21 Aprile 2008
- 2.414
- 0
- Miglior risposta
- 0
Ragazzi ecco qui per i più newbie (non insulto) una guida per capire bene che cos'è questo famigerato C# xD
Imparerete a programmare in C# in 5 lezioni
Prima Lezione Introduzione
Seconda Lezione Primo Programma
Terza Lezione Le Classi
Quarta Lezione Gli Eventi
Quinta Lezione Le Eccezzioni
Ed ecco qui cosa ne pensate?? Commentate
Fonte = 100% MIA
Imparerete a programmare in C# in 5 lezioni
Prima Lezione Introduzione
il C# (si legge C sharp) è nato come linguaggio principale per il Framework .NET, si noteranno subito le somiglianze
con il Visual Basic e il C++ non solo per la sintassi dei codici.
Naturalmente la guida avrà un aprrendimento migliore per chi già conosce il Java o il C++ o come detto prima anche il
Visual Basic.
con il Visual Basic e il C++ non solo per la sintassi dei codici.
Naturalmente la guida avrà un aprrendimento migliore per chi già conosce il Java o il C++ o come detto prima anche il
Visual Basic.
Seconda Lezione Primo Programma
Allora per programmare in C# naturalmente useremo Microsoft Visual C# 2008 scaricabile direttamente dal sito ufficiale
della Microsoft
Iniziamo Andando su File-->Nuovo Progetto e selezioniamo Applicazione Console
Troveremo un codice come questo
Ora tra le 2 parentesi graffe dopo static void Main ci inseriamo
E questo è il classico Ciao Mondo! più conosciuto come Hello World!
Ma andiamo ad analizzare cosa fanno queste 2 stringhe
la prima ystem.Console.WriteLine("Ciao Mondo!"); stampa a video sulla console (simile al CMD) la linea "Ciao Mondo!"
inserita tra le 2 parentesi e le virgolette o apici (ricordate qualsiasi testo scriverete in C# va sempre inserito tra le apici "")
La seconda Stringa System.Console.ReadLine(); fa si che la console aspetti prima di chiudersi automaticamente dopo aver stampato
la stringa, quindi con un semplice INVIO la console si chiuderà
Ecco un immagine di cosa avrete
Fatto questo potete sbizzarrirvi ad aggiungere linee di testo andando sempre accapo per più ordine nel compilatore
Potete anche aggiungere diverse stringhe come
Per avere un Beep generato dalle api del pc
Oppure un altra del tipo
Per cancellare quanto scritto prima
Ricordate che ogni cosa scriverete del tipo System. appena digiterete il punto e anche prima il compilatore (Microsoft Visual C#)
vi darà un aiuto la cosiddetta libreria
della Microsoft
Iniziamo Andando su File-->Nuovo Progetto e selezioniamo Applicazione Console
Troveremo un codice come questo
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Ma andiamo ad analizzare cosa fanno queste 2 stringhe
la prima ystem.Console.WriteLine("Ciao Mondo!"); stampa a video sulla console (simile al CMD) la linea "Ciao Mondo!"
inserita tra le 2 parentesi e le virgolette o apici (ricordate qualsiasi testo scriverete in C# va sempre inserito tra le apici "")
La seconda Stringa System.Console.ReadLine(); fa si che la console aspetti prima di chiudersi automaticamente dopo aver stampato
la stringa, quindi con un semplice INVIO la console si chiuderà
Ecco un immagine di cosa avrete
Potete anche aggiungere diverse stringhe come
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Oppure un altra del tipo
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Ricordate che ogni cosa scriverete del tipo System. appena digiterete il punto e anche prima il compilatore (Microsoft Visual C#)
vi darà un aiuto la cosiddetta libreria
Terza Lezione Le Classi
Il concetto di classe è alla base di ogni linguaggio di programmazione, con il termine classe si indica la caratteristica
di un insieme di oggetti
Possiamo dunque affermare che una classe è un insieme di variabili definite da un certo tipo di dato
Questo è un esempio di classe
Per ogni classe istanziata, viene creato un'oggetto ed è invocato un metodo detto costruttore della classe
Il costruttore è utilizzato per impostare le proprietà che la classe deve avere al momento della sua creazione:
nel nostro esempio, quando si crea una istanza della classe Persona, le sue variabili EtaMedia e PesoMedio assumono
i valori specificati nel relativo argomento del costruttore
I metodi vengono dichiarati con public, una routine diventa accessibile da tutte le istanze della classe.
Private, invece, impedisce che la routine sia visibile al di fuori della classe di in cui è definita.
Una classe può contenere anche un altro tipo di metodi, le cosiddette proprietà. Si tratta di particolari routine che permettano
di leggere e/o impostare i valori di determinate proprietà di una classe. Aggiungiamo, per esempio, la seguente
proprietà alla classe Persona:
Essa permette di avere accesso in lettura e scrittura alla variabile EtaMedia, che altrimenti non sarebbe
visibile all'esterno della classe.
Il blocco get deve restituire la variabile associata alla proprietà, quindi, come detto prima,
deve contenere l'istruzione return.
Il codice del blocco set, invece, viene eseguito quando si modifica il valore della proprietà;
la parola chiave value contiene il nuovo valore da assegnare. L'utilizzo delle proprietà è intuitivo:
Passiamo ora ai metodi statici finora per accedere ai metodi della classe Persona occorreva creare un'istanza della classe
In alcuni casi non c'è bisogno di questa lunga procedura per accedere alla classe e possono essere richiamate
semplicemente utilizzando il nome della classe
Ad esempio supponiamo che il metodo Stanze di cui abbiamo parlato in precedenza sia contenuto nella classe
"Casa"
È sensato pensare che una procedura di questo tipo possa essere richiamata senza dover
prima creare un'istanza della classe che la contiene. Per questo si usa la parola chiave static
(che corrisponde allo Shared di VB .NET)
L'utilizzo di questa routine è semplice
In questo caso la Casa ha il quadrato delle stanze indicate tra parentesi
Vi linko le source del programma
Tutte le classi possono essere raggruppate in namespace
Con questo costrutto per dichiarare un oggetto di classe1 è necessario scrivere
Tutte le classi che compongono l'infrastruttura .NET sono organizzate in namespace
Ad esempio, la classe Form, da cui ereditano tutte le Windows form
(che tratteremo in seguito) è raggiungibile nel namespace Windows.System.Forms.Form
Per non dichiarare ogni volta i namespace è possibile utilizzare la parola using allogata per esempio a
Windows.System.Forms.Form prima delle classi nel programma quindi avremo
di un insieme di oggetti
Possiamo dunque affermare che una classe è un insieme di variabili definite da un certo tipo di dato
Questo è un esempio di classe
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Il costruttore è utilizzato per impostare le proprietà che la classe deve avere al momento della sua creazione:
nel nostro esempio, quando si crea una istanza della classe Persona, le sue variabili EtaMedia e PesoMedio assumono
i valori specificati nel relativo argomento del costruttore
I metodi vengono dichiarati con public, una routine diventa accessibile da tutte le istanze della classe.
Private, invece, impedisce che la routine sia visibile al di fuori della classe di in cui è definita.
Una classe può contenere anche un altro tipo di metodi, le cosiddette proprietà. Si tratta di particolari routine che permettano
di leggere e/o impostare i valori di determinate proprietà di una classe. Aggiungiamo, per esempio, la seguente
proprietà alla classe Persona:
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
visibile all'esterno della classe.
Il blocco get deve restituire la variabile associata alla proprietà, quindi, come detto prima,
deve contenere l'istruzione return.
Il codice del blocco set, invece, viene eseguito quando si modifica il valore della proprietà;
la parola chiave value contiene il nuovo valore da assegnare. L'utilizzo delle proprietà è intuitivo:
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
In alcuni casi non c'è bisogno di questa lunga procedura per accedere alla classe e possono essere richiamate
semplicemente utilizzando il nome della classe
Ad esempio supponiamo che il metodo Stanze di cui abbiamo parlato in precedenza sia contenuto nella classe
"Casa"
È sensato pensare che una procedura di questo tipo possa essere richiamata senza dover
prima creare un'istanza della classe che la contiene. Per questo si usa la parola chiave static
(che corrisponde allo Shared di VB .NET)
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
L'utilizzo di questa routine è semplice
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Vi linko le source del programma
Perfavore,
Entra
oppure
Registrati
per vedere i Link!
Tutte le classi possono essere raggruppate in namespace
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Ad esempio, la classe Form, da cui ereditano tutte le Windows form
(che tratteremo in seguito) è raggiungibile nel namespace Windows.System.Forms.Form
Per non dichiarare ogni volta i namespace è possibile utilizzare la parola using allogata per esempio a
Windows.System.Forms.Form prima delle classi nel programma quindi avremo
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Quarta Lezione Gli Eventi
Possiamo definire un evento come il verificarsi di una condizione: dalla pressione di un pulsante,
alla digitazione in una casella di testo. Quando si verifica una di queste condizioni, diciamo che il controllo
genera (oppure lancia) un evento. Ad esempio, quando si preme il pulsante sinistro del mouse su di un bottone,
esso genera l'evento "Click"
Facciamo un esempio di evento sul caricamento di una form
Occorre anzitutto creare un gestore di eventi (detto Event Handler) per l'evento "Load" della finestra Form1.
Aggiungiamo il seguente codice nel costruttore della classe
Analizziamo quanto abbiamo scritto occorre specificare il nome dell'oggetto che espone l'evento:
in questo caso abbiamo usato this, che, come abbiamo già accennato, rappresenta la classe corrente
Di seguito, dopo il punto, si indica il nome dell'evento da gestire:
gli eventi disponibili sono riconoscibili, nell'elenco visualizzato tramite l'IntelliSense,
dal simbolo di un fulmine nella libreria
L' operatore '+=' indica che si sta aggiungendo un gestore per l'evento
Si usa '+=', e non solo '=', perché è possibile specificare più handler per lo stesso evento.
Proviamo ad utilizzare la routine Form1_Load in modo che all'avvio della form esca un MessageBox con scritto Ciao Mondo!
Allora creiamo una nuova form andando su File-->Nuovo Progetto e selezionando Applicazione Windows Form
Fatto questo ci troveremo di fronte ad una schermata del genere (sempre in Microsoft Visual C#)
Non vi preoccupate se non vedete l'esplora soluzioni o la casella degli Strumenti e delle proprietà si aggiungeranno in seguito
dal compilatore.
Ora vi basta cliccare due volte nello spazio delimitato dal segno rosso per trovarvi nel codice di Form_Load
Avrete quindi un codice simile o uguale a questo
Ora inserite tra le 2 parentesi graffe di private void Form1_Load questo
Avviate il debug con F5 ed avrete un messaggio così
Ora vi potete sbizzarrire con la stringa MessageBox.Show per creare i vostri messaggi personali, e potete
cambiare le solite cose come MessageBoxButtons.OK in MessageBoxButtons.OKCancel per avere 2 bottoni Ok e Cancel
oppure cambiare MessageBoxIcon.Information con MessageBoxIcon.Error per cambiare l'icona con il punto esclamativo
Vi consiglio di scrivere nel compilatore MessageBoxButtons. per visualizzare la libreria e scegliere i bottoni o
le icone che più vi piacciono
alla digitazione in una casella di testo. Quando si verifica una di queste condizioni, diciamo che il controllo
genera (oppure lancia) un evento. Ad esempio, quando si preme il pulsante sinistro del mouse su di un bottone,
esso genera l'evento "Click"
Facciamo un esempio di evento sul caricamento di una form
Occorre anzitutto creare un gestore di eventi (detto Event Handler) per l'evento "Load" della finestra Form1.
Aggiungiamo il seguente codice nel costruttore della classe
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
in questo caso abbiamo usato this, che, come abbiamo già accennato, rappresenta la classe corrente
Di seguito, dopo il punto, si indica il nome dell'evento da gestire:
gli eventi disponibili sono riconoscibili, nell'elenco visualizzato tramite l'IntelliSense,
dal simbolo di un fulmine nella libreria
L' operatore '+=' indica che si sta aggiungendo un gestore per l'evento
Si usa '+=', e non solo '=', perché è possibile specificare più handler per lo stesso evento.
Proviamo ad utilizzare la routine Form1_Load in modo che all'avvio della form esca un MessageBox con scritto Ciao Mondo!
Allora creiamo una nuova form andando su File-->Nuovo Progetto e selezionando Applicazione Windows Form
Fatto questo ci troveremo di fronte ad una schermata del genere (sempre in Microsoft Visual C#)
dal compilatore.
Ora vi basta cliccare due volte nello spazio delimitato dal segno rosso per trovarvi nel codice di Form_Load
Avrete quindi un codice simile o uguale a questo
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
cambiare le solite cose come MessageBoxButtons.OK in MessageBoxButtons.OKCancel per avere 2 bottoni Ok e Cancel
oppure cambiare MessageBoxIcon.Information con MessageBoxIcon.Error per cambiare l'icona con il punto esclamativo
Vi consiglio di scrivere nel compilatore MessageBoxButtons. per visualizzare la libreria e scegliere i bottoni o
le icone che più vi piacciono
Quinta Lezione Le Eccezzioni
Fino a questo punto del corso non abbiamo mai parlato della gestione degli errori in C#
Semplificando, un errore è il verificarsi di una situazione imprevista durante l'esecuzione di un programma
Gli errori nel mondo .NET, vengono rappresentati con le eccezioni: una intera gerarchia di classi per la
gestione degli eventi indesiderati.
Le eccezioni vengono "sollevate" al verificarsi di una situazione anomala, come un errore
Si possono ignorare, con il rischio di avere delle brutte sorprese a run-time, oppure si possono
intercettare e gestire.
Questo implica l'uso di un costrutto nato appositamente per l'intercettazione delle eccezioni: try-catch-finally.
Se il codice che viene eseguito all'interno del blocco try solleva una eccezione, questa viene catturata e
viene eseguito il blocco catch
In ogni caso viene eseguito poi anche il blocco finally
Nella clausola catch si può indicare il tipo di eccezione che si vuole gestire; ad esempio
Semplificando, un errore è il verificarsi di una situazione imprevista durante l'esecuzione di un programma
Gli errori nel mondo .NET, vengono rappresentati con le eccezioni: una intera gerarchia di classi per la
gestione degli eventi indesiderati.
Le eccezioni vengono "sollevate" al verificarsi di una situazione anomala, come un errore
Si possono ignorare, con il rischio di avere delle brutte sorprese a run-time, oppure si possono
intercettare e gestire.
Questo implica l'uso di un costrutto nato appositamente per l'intercettazione delle eccezioni: try-catch-finally.
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
viene eseguito il blocco catch
In ogni caso viene eseguito poi anche il blocco finally
Nella clausola catch si può indicare il tipo di eccezione che si vuole gestire; ad esempio
PHP:
Perfavore,
Entra
oppure
Registrati
per vedere i codici!
Ed ecco qui cosa ne pensate?? Commentate
Fonte = 100% MIA