C# LE BASI 2007 Prima lezione - Introduzione • Cos’è C# • Cos'è Framework .NET • Visual Studio 2005 • Prima applicazione Hello World • Compilare ed eseguire un'applicazione Cos’è C# • È un linguaggio OOP Object Oriented Programming (programmazione rientata ad oggetti). In questo genere di linguaggi si cerca di raggruppare tutto in un'unica classe. • Non è il successore di C++. • Non è il linguaggio ufficiale di .NET • È stato sviluppato parallelamente al framework .NET • Molta parte del framework .NET è stato sviluppato con C# • È possibile sviluppare sia applicazioni desktop che pagine in ASP.NET • I vantaggi di C# sono: • Nessun puntatore richiesto • Gestione automatica della memoria • Totale supporto per tecniche di programmazione basate su INTERFACE. Cos’è il framework .NET • È l'ambiente per la creazione, la distribuzione e l'esecuzione di tutti gli applicativi che supportano .Net siano essi Servizi Web o altre applicazioni • Alla base del Framework .NET c'è il CLR (Common Language Runtime). • Il CLR è l'ambiente di esecuzione del CIL (Common Intermediate Language). Il CLR in pratica gestisce l’esecuzione dei programmi scritti in .NET. • Il CIL è il linguaggio di programmazione di livello più basso previsto dalla piattaforma .NET. È un linguaggio assembly orientato agli oggetti. Esso viene poi eseguito da una macchina virtuale. Il CLR traduce il nostro codice nel linguaggio comune intermedio CIL. • Il codice CIL deve essere compilato al volo prima di essere usato. JIT (Just In Time), chiamato anche Jitter, converte il codice CIL in istruzioni CPU. Esistono più Jitter per ogni architettura. Il codice una volta compilato non necessita di essere recompilato. • Per garantire l’integrazione tra i vari linguaggi .NET si usa il CLS (Common Language Specification). • Il Framework .NET ha subito molti sviluppi negli anni. Ad oggi l'ultima versione è la 3.0 integrata in Windows Vista. • Il Framework .NET è completamente gratuito, ma non il suo tool di sviluppo principale, Visual Studio. Però esistono tante alternative freeware. • Le caratteristiche del Framework .NET sono: • Una common runtime engine condivisa da tutti i linguaggi .NET. Contiene un set di tipi che ogni linguaggio .NET capisce. • Una base class library • Un modello di deployment semplificato: In .NET non c'è bisogno di registrare un'unità binaria nel registro di sistema. .NET permette la convivenza di versioni multiple della stessa *.dll su di una singola macchina. Visual C# 2005 • Visual C# 2005 permette uno sviluppo ottimale e semplice di programmi basati su Framework .NET. • Esistono molte versioni di Visual C# 2005, noi useremo la versione freeware chiamata Express Edition, che anche se è ridotta è comunque molto potente. La si può scaricare dal sito della microsoft: http://download.microsoft.com/download/3/f/4/3f435aaa-49ce-44c3-a2ccd40bca9af941/ITA/vcssetup.exe • In alternativa a Visual C# c'è SharpDevelop per quanto riguarda le windows form, mentre per le web form c'è in alternativa webmatrix. • Per creare un nuovo progetto si usa o la pagina iniziale oppure si clicca su File -> Nuovo e si sceglie il tipo di applicazione da creare. • Durante questo corso verranno creati dei progetti: Console e Windows Form. • Nella finestra esplora soluzioni viene contenuta la lista dei file del progetto. • Nella finestra database explorer viene visualizzata la lista delle connessioni ai database e il loro relativo contenuto. • La finestra Casella strumenti contiene la lista degli oggetti da utilizzare in una windows form o web form. • Nella finestra proprietà ci sono tutte le proprietà riguardanti l'oggetto selezionato • Come si vede nella diapositiva 11 (nel progetto Console) nella casella strumenti non c’è niente. • La casella strumenti è vuota perché in un progetto Console si lavora solo con il testo, ma è sempre possibile creare manualmente da codice una windows form. • Nella finestra esplora soluzioni viene contenuta la lista dei file del progetto. • Nella finestra database explorer viene visualizzata la lista delle connessioni ai database e il loro relativo contenuto. • La finestra Casella strumenti contiene la lista degli oggetti da utilizzare in una windows form o web form. • Nella finestra proprietà ci sono tutte le proprietà riguardanti l'oggetto selezionato Hello Worl • Quando si inizia a conoscere un nuovo linguaggio di programmazione si inizia sempre con il classico programma di prova Hello world. • Creiamo un nuovo progetto Console in Visual C# 2005. • Subito notiamo le prime linee di codice: using viene usato per richiamare un namespace e ci evita di ridigitare ogni volta il namespace. • Il namespace è come un contenitore di classi e permette di richiamare tutto ciò che viene dichiarato in quel namespace anche se si trova in altri file. • Il namespace base e più utilizzato è: System. • Nella nuova linea di codice viene definito il namespace del progetto • Viene definita la classe Program • Viene definito il metodo Main. In questo caso non ci viene restituito alcun valore, ma è possibile anche farci restituire ad esempio un valore intero. • Un metodo contiene un blocco di istruzioni che quando viene richiamato le esegue tutte. Con static indichiamo che è statico. Cioè per richiamare questo metodo non c’è bisogno di creare una nuova istanza della classe. • string args[] è una variabile array stringa e contiene i parametri che inseriamo quando richiamiamo il programma. • Nel metodo troviamo queste due linee di codice: Console.WriteLine(“Hello World!”); Console.Read(); • La prima linea di codice scrive nella console la stringa Hello World! • La seconda linea di codice rimane in attesa della pressione di un tasto • Ogni istruzione termina con ; • Come potete vedere ogni volta che definiamo un namespace, una classe, un metodo vengono aperte e chiuse delle parentesi graffe che definiscono l’inizio e la fine. Compilazione • Da Visual C# 2005 per compilare un’applicazione bisogna cliccare su Buil -> Build Solution • Ci sono due modalità di compilazione, Debug e Release. • Con Debug viene utilizzata una quantità di memoria maggiore della release perché questa modalità viene utilizzata per testare l’applicazione. • Release invece viene utilizzata per rilasciare la nostra applicazione e quindi distribuirla a chi vogliamo. • Noi utilizzeremo la modalità Debug perché ci aggevola nel rilevamento degli errori. • Quando avviamo il compilatore vengono eseguiti i seguenti passi: • Il compilatore verifica la sintassi del nostro programma e se ci sono errori ci blocca rilevandoci in un finestra l’errore che è stato generato. • Se la sintassi è corretta procede con l’elaborazione del codice dandolo in pasto al CLR. • Il CLR lo dà al CIL che a sua volta lo elabora in istruzioni di basso livello • Se tutto va a buon fine in basso a sinistra viene scritto Build succeed. • Viene creato l’eseguibile nella cartella Debug se stiamo in modalità Debug, altrimenti Release se stiamo in modalità Release. Esecuzione • Per eseguire un’applicazione ci sono diversi modi: • Si digita F5 da Visual C# 2005 • Si clicca sul simbolo play in verde che si trova in alto in Visual C# 2005. • Da Esplora risorse si clicca due volte sull’eseguibile creato durante la compilazione. • Da Console si va nella cartella dove stà l’eseguibile e si digita il nome dell’eseguibile. • Quando eseguiamo un’applicazione da Visual Studio 2005 viene prima ricompilata e poi eseguita.