﻿<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Sviluppatore, Amministratore e Consulente Informatico &#187; C#</title>
	<atom:link href="http://www.marcobruni.info/tag/c/feed" rel="self" type="application/rss+xml" />
	<link>http://www.marcobruni.info</link>
	<description>Quando una professione è anche una passione</description>
	<lastBuildDate>Wed, 19 May 2010 14:10:39 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Programmare in C# nel frameowrk .NET &#8211; parte 01</title>
		<link>http://www.marcobruni.info/programmare-in-c-nel-frameowrk-net-parte-01.html</link>
		<comments>http://www.marcobruni.info/programmare-in-c-nel-frameowrk-net-parte-01.html#comments</comments>
		<pubDate>Wed, 13 Jan 2010 05:30:46 +0000</pubDate>
		<dc:creator>marco</dc:creator>
				<category><![CDATA[C#]]></category>
		<category><![CDATA[dotnet]]></category>
		<category><![CDATA[programmazione]]></category>

		<guid isPermaLink="false">http://www.marcobruni.info/?p=427</guid>
		<description><![CDATA[Che cosa è il C #?
Il C# (si pronuncia &#8220;c sharp&#8221;) è un linguaggio di programmazione object-oriented sviluppato da Microsoft all&#8217;interno dell&#8217;iniziativa .NET, ed è, in un certo senso, il linguaggio che meglio degli altri descrive le linee guida sulle quali ogni programma .NET gira; questo linguaggio è stato infatti creato da Microsoft specificatamente per [...]]]></description>
			<content:encoded><![CDATA[<div class="tweetmeme_button" style="float: right; margin-left: 10px;"><a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.marcobruni.info%2Fprogrammare-in-c-nel-frameowrk-net-parte-01.html"><img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.marcobruni.info%2Fprogrammare-in-c-nel-frameowrk-net-parte-01.html" height="61" width="51" /></a></div><p>Che cosa è il C #?</p>
<p>Il C# (si pronuncia &#8220;c sharp&#8221;) è un linguaggio di programmazione object-oriented sviluppato da Microsoft all&#8217;interno dell&#8217;iniziativa .NET, ed è, in un certo senso, il linguaggio che meglio degli altri descrive le linee guida sulle quali ogni programma .NET gira; questo linguaggio è stato infatti creato da Microsoft specificatamente per la programmazione nel Framework .NET. I suoi tipi di dati &#8220;primitivi&#8221; hanno una corrispondenza univoca con i tipi .NET e molte delle sue astrazioni, come classi, interfacce, delegati ed eccezioni, sono particolarmente adatte a gestire il .NET framework. Leggi il resto nella <a href="http://it.wikipedia.org/wiki/C_sharp" target="_blank">voce di wikipedia</a>.</p>
<p>Vediamo un esempio Hello World / Ciao Mondo:</p>
<pre>
<span class="no_translate">
using System; 

class class HelloWorld
{
    static static void Main()
    {
        Console .WriteLine( "hello world" );
    }
}
</span>
</pre>
<p>Come compilare questo codice! E &#8216;facile, scrivetelo in <a href="http://msdn.microsoft.com/it-it/vstudio/default.aspx" target="_blank">Visual Studio</a> ed eseguite.</p>
<p>Utilizzando il compilatore da riga di comando, un tale programma può essere compilato con la riga di comando dalla finestra DOS con il comando: </p>
<pre>csc helloworld.cs CSC HelloWorld.cs</pre>
<p>Spiego alcune delle righe di codice scritto:</p>
<p><strong>using System;</strong> Riferimenti della direttiva uno spazio dei nomi denominato system che viene fornito da Microsoft. NET Framework, per utilizzare le librerie del Framework.</p>
<p><strong>static static void Main()</strong> è un membro della classe HelloWorld. Essa ha il modificatore static, e quindi è un metodo della classe HelloWorld ed è il punto di ingresso per l&#8217;applicazione.</p>
<p><strong>Console .WriteLine( &#8220;hello world&#8221; );</strong> questa riga scrive sullo schermo di output c&#8221;hello world&#8221;, Console è una classe all&#8217;interno del namespace System, e WriteLine () è un metodo di questa classe per stampare sulla console una frase.</p>
<p><strong>Come scrivere con C #?</strong></p>
<p>C # è un linguaggio, e per utilizzare qualsiasi linguaggio si deve conoscere la sua grammatica. </p>
<p>In primo luogo parliamo dell&#8217;avvio dell&#8217;applicazione (il punto di accesso):</p>
<p>Avvio dell&#8217;applicazione si verifica quando l&#8217;ambiente di esecuzione chiama un metodo designato, che viene indicato come il punto di ingresso. Questo metodo del punto di ingresso è sempre chiamato Main, E può avere uno dei seguenti firme:</p>
<p>static static void Main() {&#8230;} void Main () {&#8230;}</p>
<p>static static void Main( string [] args) {&#8230;} void Main (string [] args) {&#8230;}</p>
<p>static static int Main() {&#8230;} int Main () {&#8230;}</p>
<p>static static int Main( string [] args) {&#8230;} int Main (string [] args) {&#8230;}</p>
<p>Il punto di ingresso può opzionalmente avere un parametro formale. Il parametro può avere qualsiasi nome, ma il tipo del parametro deve essere string [] un vettore string, per capire cosa è un vettore leggete l&#8217;articolo <a href="http://www.marcobruni.info/it/tutorial-java-copiare-un-arrayvettore-in-java.html">Tutorial Java: copiare un array/vettore in Java</a>. Se il parametro formale è presente, l&#8217;ambiente di esecuzione crea e passa un vettore stringa [] argomento contenente la riga di comando gli argomenti che sono stati specificati quando l&#8217;applicazione è stata avviata. Il vettore di parametri stringa [] non è mai nullo, ma può avere una lunghezza pari a zero se gli argomenti della riga di comando non sono stati specificati, C# è un linguaggio orientato agli oggetti è supporta l&#8217;overloading (cioè una classe o una struttura può contenere più definizioni di un metodo, a condizione che ognuno ha una diversa firma), così che l&#8217;applicazione può avere diversi punti di ingresso.</p>
<p>Note:</p>
<p>La firma di un metodo consiste nel nome del metodo e il tipo e la natura (valore di riferimento, o di uscita) di ciascuno dei suoi parametri formali, considerato in ordine da sinistra a destra. La firma di un metodo in particolare non include il tipo di ritorno, né comprende il modificatore di parametri.</p>
<p>L&#8217;ambito di un nome è la regione di testo del programma all&#8217;interno del quale è possibile fare riferimento alle entità dichiarate dal nome senza qualifiche del nome. Ambiti possono essere nidificate, e un campo di applicazione interna può ridichiarare il significato di un nome da un ambito esterno. Il nome dal campo esterno è poi detto di essere nascosto nella regione di testo del programma rientrano nell&#8217;ambito di applicazione interiore, e l&#8217;accesso al nome esterno è possibile solo con il nome di qualificazione.</p>
<p>Esempio A:</p>
<pre>
<span class="no_translate">
class A
{
    int i = 0; 

    void B()
    {
        i = 1;
    } 

    void C()
    {
        i = 2;
    }
}
</span>
</pre>
<p>Lo scope delle variabili è il contesto all’interno del quale esse sono definite.<br />
i ha lo scope nella classe A e nel campo di applicazione ai metodi di B e C.</p>
<p>Esempio B:</p>
<pre>
<span class="no_translate">
class A
{
    int i = 0;

    void B()
    {
        int i = 1;
    } 

    void C()
    {
        i = 2;
    }
}
</span>
</pre>
<p>E&#8217; come l&#8217;esempio precedente ma nel metodo B è nascosta nuova dichiarazione di un membro con lo stesso nome i.</p>
<p>Ogni namespace o spazio dei nomi e il tipo ha un nome pienamente qualificato, che identifica univocamente il namespace o il tipo, tra tutti gli altri. Il nome completo di uno spazio dei nomi o di tipo N è determinato come segue:</p>
<ul>
<li>Se N è un membro del namespace globale, il suo nome completo è N</li>
<li>In caso contrario, il suo nome completo è SN, dove S è il nome completo dello spazio dei nomi o del tipo in cui N è dichiarata</li>
</ul>
<p>Esempio:</p>
<pre>
<span class="no_translate">
class A { }                  // A 

namespace X              // X
{ 

           class B           // XB
           {
                        class C { }         // XBC
            }
            namespace Y               // XY
            {
                        class D { }     // XYD
            } 

} 

namespace X.Y                  // X.Y
{
             class E { }          // X.Y.E 

 }
</span>
</pre>
<p>Ecco l&#8217;esempio da scaricare:<br />
<a href='http://www.marcobruni.info/wp-content/uploads/2010/01/Hello-World.zip'>Hello World &#8211; Esempio della lezione  Programmare in C# nel frameowrk .NET &#8211; parte 01</a></p>
<p>Non vi perdete la prossima puntata che pubblicherò la prossima settimana in cui parleremo dei tipi.</p>
<p><a href="http://www.marcobruni.info/it/tag/programmazione">Articoli correlati</a></p>
<p class="akst_link"><a href="http://www.marcobruni.info/?p=427&amp;akst_action=share-this"  title="Invia il post via mail o salvalo in uno dei servizi di bookmarking sociale..." id="akst_link_427" class="akst_share_link" rel="nofollow">Condividi</a>
</p>]]></content:encoded>
			<wfw:commentRss>http://www.marcobruni.info/programmare-in-c-nel-frameowrk-net-parte-01.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
