• Regolamento Macrocategoria DEV
    Prima di aprire un topic nella Macrocategoria DEV, è bene leggerne il suo regolamento. Sei un'azienda o un hosting/provider? Qui sono anche contenute informazioni per collaborare con Sciax2 ed ottenere l'accredito nella nostra community!

Guida Guida al C#

hotelfico

Utente Master
Autore del topic
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
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.

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
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
Ora tra le 2 parentesi graffe dopo static void Main ci inseriamo
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
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
2k0tpx.jpg
Fatto questo potete sbizzarrirvi ad aggiungere linee di testo andando sempre accapo per più ordine nel compilatore
Potete anche aggiungere diverse stringhe come
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
Per avere un Beep generato dalle api del pc :emoji_smiley:
Oppure un altra del tipo
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
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

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
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
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:
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
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:
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
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)

PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

L'utilizzo di questa routine è semplice
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
In questo caso la Casa ha il quadrato delle stanze indicate tra parentesi
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!
Con questo costrutto per dichiarare un oggetto di classe1 è necessario scrivere
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
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
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
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
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#)
11qu1hj.jpg
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
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
Ora inserite tra le 2 parentesi graffe di private void Form1_Load questo
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
Avviate il debug con F5 ed avrete un messaggio così
mbh2ed.jpg
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

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.
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!
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
PHP:
Perfavore, Entra oppure Registrati per vedere i codici!

Ed ecco qui cosa ne pensate?? Commentate

Fonte = 100% MIA
 
  • Like
Reactions: 1 person
100% tua? Cioè hai scritto tu tutto?

Lode a ed al tuo impegno, bravissimo. ;)
 
bravissimo! anche se dubito che i newbie la capiscano del tutto perchè la hai impostata come se già sapessero alcuni codici :emoji_smiley:
 
OTTIMA *-* so gia molto di piu *-*

E' una guida basica, come puoi pretendere che uno che non sa nè vb/c++ possa capirne qualcosa? E' logico che se si sanno vb/c++ il tutto è più facile, e si può passare a qualcosa di più difficilino ^^

p.s. Carina la guida, :bravo:
 
Bravo, complimenti! Almeno non si chiederà piu cos'è questo C# ... Almeno spero ovviamente.
 
Guida essenziale, giusto per capire come funzionano le cose. Ma non concordo sull'introduzione...
 
Bravissimo, con la tua guida è abbastanza facile a capirlo come programmare in C#

Ti do un grazie :emoji_smiley:

:bye:
 
Bhe questa mi sa più una guida diretta ad habbo, poichè non hai inserito cos'è un Override...
 
Bravo, ottima guida... Potresti fare una guida in italiano su socket in c#?
Quelli che usi sul tuo server intendo!
 
mm spiegati meglio un ddos un controllo socket??, se lo vuoi come il server è più complicato perchè quel socket è collegato a tutto il server e i vari file