<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:copyright="http://blogs.law.harvard.edu/tech/rss" xmlns:image="http://purl.org/rss/1.0/modules/image/" version="2.0">
    <channel>
        <title>Angella Andrea</title>
        <link>http://blogs.ugidotnet.org/angellaa/Default.aspx</link>
        <description>Blog tecnico sulla piattaforma .NET e lo sviluppo software.</description>
        <language>it-IT</language>
        <copyright>Andrea Angella</copyright>
        <generator>Subtext Version 2.1.0.3</generator>
        <image>
            <title>Angella Andrea</title>
            <url>http://blogs.ugidotnet.org/images/RSS2Image.gif</url>
            <link>http://blogs.ugidotnet.org/angellaa/Default.aspx</link>
            <width>77</width>
            <height>60</height>
        </image>
        <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/ugidotnet-angellaa" type="application/rss+xml" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
            <title>[OT] &amp;ndash; Finalmente laureato&amp;hellip; ma &amp;egrave; solo l&amp;rsquo;inizio !</title>
            <link>http://blogs.ugidotnet.org/angellaa/archive/2009/10/30/ot-ndash-finalmente-laureatohellip-ma-egrave-solo-lrsquoinizio.aspx</link>
            <description>&lt;p&gt; &lt;/p&gt;  &lt;p&gt;Ciao a tutti voi ragazzi/e di UgiDotNet, è davvero molto tempo che non scrivo su questo blog anche se ho sempre letto ogni singolo post pubblicato. Nell’ultimo anno sono stato molto occupato nel sostenere gli ultimi esami universitari, nel preparare la mia tesi di laurea e nel contribuire alla nascita e crescita di DotNetToscana.&lt;/p&gt;  &lt;p&gt;In data &lt;strong&gt;8 Ottobre 2009&lt;/strong&gt; ho finalmente completato il mio percorso di studi con risultati davvero eccezionali: &lt;strong&gt;110 e lode con &lt;/strong&gt;&lt;a href="http://www.unipi.it/studenti/offerta/eccellenza.htm_cvt.htm"&gt;&lt;strong&gt;percorso di eccellenza&lt;/strong&gt;&lt;/a&gt; !&lt;/p&gt;  &lt;p&gt;Il &lt;a href="http://picasaweb.google.it/angella.andrea/LaureaSpecialisticaEFesta#5392440773888741282"&gt;video di presentazione&lt;/a&gt; e tutte le foto della cerimonia e della festa sono liberamente fruibili a questo indirizzo: &lt;a href="http://picasaweb.google.it/angella.andrea/LaureaSpecialisticaEFesta#"&gt;http://picasaweb.google.it/angella.andrea/LaureaSpecialisticaEFesta#&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;E’ doveroso per me lodare le eccezionali capacità tecniche del mio relatore &lt;a href="http://retis.sssup.it/~tommaso/ita/"&gt;Tommaso Cucinotta&lt;/a&gt;, ricercatore della Scuola Superiore Sant’Anna di Pisa. Fanstastico notare che la sua homepage è suddivisa in due sezioni, quella “professionale” e quella “hobby &amp;amp; tempo libero”, e che in quest’ultima c’è scritto: “Il mio hobby preferito è da sempre l'informatica e la programmazione.”. Insomma è uno di quei pochi fortunati (o da alcuni punti di vista “fulminati”) ad amare veramente l’informatica e la programmazione tanto da occupare anche il suo tempo libero. Bhe io mi sento come lui e come molti iscritti a questo blog. Abbiamo costantemente “Sete di conoscenza”…. io ne ho davvero tanta !!!&lt;/p&gt;  &lt;p&gt;La laurea rappresenta per me solamente il punto di partenza. Adesso che ho terminato il mio percorso formativo è ora finalmente di iniziare la mia crescita professionale. L’8 Novembre 2009 partirò per Londra e farò un corso di inglese super-intensivo di 6 settimane in &lt;a href="http://www.regent.org.uk/"&gt;Regent School&lt;/a&gt;. Vivrò in famiglia. Ho preso l’importante decisione di cercare lavoro a Londra iniziando quindi la mia esperienza professionale all’estero o almeno voglio provarci. Ultimamente sono stato molto più presente su Facebook rispetto a UgiDotNet, chi di voi mi conosce mi aggiunga pure alla lista degli amici.&lt;/p&gt;  &lt;p&gt;Concludo facendo le mie più sincere congratulazioni a tutti i ragazzi che hanno ricevuto per la prima volta o che sono stati confermati nuovamente &lt;a href="http://mvp.support.microsoft.com/"&gt;MVP&lt;/a&gt;. Siete grandi e vi stimo tantissimo !!!&lt;/p&gt;  &lt;p&gt;A presto&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/angellaa/aggbug/97406.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Angella</dc:creator>
            <guid>http://blogs.ugidotnet.org/angellaa/archive/2009/10/30/ot-ndash-finalmente-laureatohellip-ma-egrave-solo-lrsquoinizio.aspx</guid>
            <pubDate>Fri, 30 Oct 2009 22:39:05 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/angellaa/comments/97406.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/angellaa/archive/2009/10/30/ot-ndash-finalmente-laureatohellip-ma-egrave-solo-lrsquoinizio.aspx#feedback</comments>
            <slash:comments>10</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/angellaa/comments/commentRss/97406.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/angellaa/services/trackbacks/97406.aspx</trackback:ping>
        </item>
        <item>
            <title>I Love HTML.it &amp;ndash; Ho vinto la maglietta :)</title>
            <link>http://blogs.ugidotnet.org/angellaa/archive/2009/07/28/i-love-html.it-ndash-ho-vinto-la-maglietta.aspx</link>
            <description>&lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/angellaa/WindowsLiveWriter/ILoveHTML.itHovintolamaglietta_1121D/i%20love%20html_2.jpg"&gt;&lt;img style="border-bottom: 0px; border-left: 0px; margin: 0px 35px 0px 0px; display: inline; border-top: 0px; border-right: 0px" title="i love html" border="0" alt="i love html" align="left" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/angellaa/WindowsLiveWriter/ILoveHTML.itHovintolamaglietta_1121D/i%20love%20html_thumb.jpg" width="136" height="136" /&gt;&lt;/a&gt; &lt;a href="http://www.html.it/"&gt;HTML.it&lt;/a&gt; ha organizzato un gioco estivo su F&lt;a href="http://www.facebook.com/"&gt;acebook&lt;/a&gt; per promuovere il loro fantastico portale.    &lt;br /&gt;Si trattava di scrivere un breve testo in cui ogni utente spiegava le motivazioni per cui “ama” HTML.it.    &lt;br /&gt;I primi dieci che ottenevano più apprezzamenti vincevano una maglietta !!!&lt;/p&gt;  &lt;p&gt;Sono tra i vincitori (terzo classificato)….niente di particolare, ma fa sempre piacere !&lt;/p&gt;  &lt;p&gt;Qui la classifica definitiva dei vincitori:   &lt;br /&gt;&lt;a title="http://www.facebook.com/home.php#/note.php?note_id=119827629084&amp;amp;ref=mf" href="http://www.facebook.com/home.php#/note.php?note_id=119827629084&amp;amp;ref=mf"&gt;http://www.facebook.com/home.php#/note.php?note_id=119827629084&amp;amp;ref=mf&lt;/a&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Ciao a tutti&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/angellaa/aggbug/96783.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Angella</dc:creator>
            <guid>http://blogs.ugidotnet.org/angellaa/archive/2009/07/28/i-love-html.it-ndash-ho-vinto-la-maglietta.aspx</guid>
            <pubDate>Tue, 28 Jul 2009 17:29:29 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/angellaa/comments/96783.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/angellaa/archive/2009/07/28/i-love-html.it-ndash-ho-vinto-la-maglietta.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/angellaa/comments/commentRss/96783.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/angellaa/services/trackbacks/96783.aspx</trackback:ping>
        </item>
        <item>
            <title>IV UgiAltNetConf (27 Giugno 2009) - Impressioni</title>
            <link>http://blogs.ugidotnet.org/angellaa/archive/2009/06/28/iv-ugialtnetconf-27-giugno-2009-impressioni.aspx</link>
            <description>&lt;p&gt; &lt;/p&gt;  &lt;p&gt;Ieri ho partecipato alla &lt;a href="http://www.ugialt.net/Meetings.ashx#IV_UgiAltNetConf_CH_Giugno_CAAJ_16"&gt;quarta UgiAlt.Net Conference&lt;/a&gt; a Bologna. E’ stata una giornata molto intensa, e i contenuti sono stati davvero molto interessanti.&lt;/p&gt;  &lt;p&gt;In primis la sessione su Mono tenuta da &lt;a href="http://primates.ximian.com/~massi/blog/"&gt;Massimiliano Mantione&lt;/a&gt;. E’ stato veramente interessante conoscere i principali aspetti di Mono raccontati da un profondo conoscitore degli internals del framework. La sua enorme competenza tecnica che traspare evidente dalla sua sessione mi ha colpito tantissimo. Complimenti Massimiliano !!!&lt;/p&gt;  &lt;p&gt;In secondo luogo è stato bello partecipare all’open space su Model View ViewModel con &lt;a href="http://blogs.ugidotnet.org/topics/"&gt;Mauro Servienti&lt;/a&gt; anche se non avevo ancora avuto modo di applicare questo pattern. E’ stupefacente la profonda conoscenza tecnologica di Mauro e il suo approccio estremamente pragmatico nell’affrontare i problemi. Ho seguito anche la sua ultima sessione di “UI Composition” ma devo ammettere che per quanto mi riguarda è un tema ancora troppo avanzato per me ma ho comunque colto le problematiche affrontate.&lt;/p&gt;  &lt;p&gt;Anche la sessione di &lt;a href="http://blogs.ugidotnet.org/Royv/Default.aspx"&gt;Roberto Valenti&lt;/a&gt; sulla sua esperienza nel refactoring di codice legacy è stata molto istruttiva e ha evidenziato una metodologia che può funzionare basata sull’analisi di metriche del codice e sull’applicazione più o meno sistematica di principi dell’OOP e del testing.&lt;/p&gt;  &lt;p&gt;Infine la sessione su “Come progettare l’UX” di &lt;a href="http://tech.piyodesign.it/"&gt;Daniela Panfili&lt;/a&gt; mi ha incuriosito in quanto ha offerto una prospettiva differente nel come può essere affrontato il problema di progettare interfacce grafiche separando il più possibile il lavoro dello sviluppatore da quello del grafico. Ero un pò scettico su questo aspetto ma l’esperienza di Daniela sembra dimostrare che spesso e volentieri l’approccio che ha presentato può funzionare e portare a una maggiore soddisfazione del cliente stesso forzandolo a scontrarsi fin da subito su tutti i possibili problemi di usabilità che lei chiamava “criticità”.&lt;/p&gt;  &lt;p&gt;Andare a questi eventi è per me molto stimolante e mi fa rendere conto di quanta strada ancora devo fare nel fantastico mondo della programmazione. Inoltre è molto bello per me conoscere e rivedere persone che hanno la mia stessa passione.&lt;/p&gt;  &lt;p&gt;Un sentito grazie a tutti gli organizzatori e agli ottimi speaker che hanno tenuto le varie sessioni della giornata.&lt;/p&gt;  &lt;p&gt;A presto !&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/angellaa/aggbug/96549.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Angella</dc:creator>
            <guid>http://blogs.ugidotnet.org/angellaa/archive/2009/06/28/iv-ugialtnetconf-27-giugno-2009-impressioni.aspx</guid>
            <pubDate>Sun, 28 Jun 2009 12:33:30 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/angellaa/comments/96549.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/angellaa/archive/2009/06/28/iv-ugialtnetconf-27-giugno-2009-impressioni.aspx#feedback</comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/angellaa/comments/commentRss/96549.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/angellaa/services/trackbacks/96549.aspx</trackback:ping>
        </item>
        <item>
            <title>Moonlight 1.0 porta Silverlight su Linux</title>
            <link>http://blogs.ugidotnet.org/angellaa/archive/2009/02/13/moonlight-1.0-porta-silverlight-su-linux.aspx</link>
            <description>&lt;p&gt;   &lt;br /&gt;Novell ha completato la prima versione stabile di Moonlight.&lt;/p&gt;  &lt;p&gt;Ecco qui il link alla notizia: &lt;a title="http://punto-informatico.it/2549927/PI/News/moonlight-10-porta-silverlight-linux.aspx" href="http://punto-informatico.it/2549927/PI/News/moonlight-10-porta-silverlight-linux.aspx"&gt;http://punto-informatico.it/2549927/PI/News/moonlight-10-porta-silverlight-linux.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/angellaa/aggbug/95461.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Angella</dc:creator>
            <guid>http://blogs.ugidotnet.org/angellaa/archive/2009/02/13/moonlight-1.0-porta-silverlight-su-linux.aspx</guid>
            <pubDate>Fri, 13 Feb 2009 10:37:51 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/angellaa/comments/95461.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/angellaa/archive/2009/02/13/moonlight-1.0-porta-silverlight-su-linux.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/angellaa/comments/commentRss/95461.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/angellaa/services/trackbacks/95461.aspx</trackback:ping>
        </item>
        <item>
            <title>Tanti auguri e segnalazione articolo sul .NET Micro Framework</title>
            <link>http://blogs.ugidotnet.org/angellaa/archive/2009/01/01/95063.aspx</link>
            <description>&lt;p&gt;Prima di tutto a voi ragazzi e ragazze di UgiDotNet:&lt;/p&gt;  &lt;h2&gt;&lt;font color="#ff0000"&gt;Tanti auguri e felice 2009 !&lt;/font&gt;&lt;/h2&gt;  &lt;p&gt;Approfitto dell'occasione per segnalare a tutti che ho realizzato e pubblicato un nuovo &lt;a href="http://dotnettoscana.org/wikis/articles/default.aspx" target="_blank"&gt;articolo&lt;/a&gt; per la community di &lt;a href="http://dotnettoscana.org/" target="_blank"&gt;DotNetToscana&lt;/a&gt;.     &lt;br /&gt;Il titolo dell'articolo è "&lt;a href="http://dotnettoscana.org/wikis/articles/introduzione-al-net-micro-framework.aspx" target="_blank"&gt;Introduzione al .NET Micro Framework&lt;/a&gt;".&lt;/p&gt;  &lt;p&gt;Di seguito elenco le sezioni di cui è composto:&lt;/p&gt;  &lt;ol&gt;   &lt;li&gt;Introduzione allo sviluppo su piattaforme embedded &lt;/li&gt;    &lt;li&gt;Che cos'è e perché è stato creato il .NET Micro Framework &lt;/li&gt;    &lt;li&gt;Versioni disponibili e caratteristiche principali &lt;/li&gt;    &lt;li&gt;Architettura del framework e Common Language Runtime &lt;/li&gt;    &lt;li&gt;Uno sguardo alla Base Class Library &lt;/li&gt;    &lt;li&gt;Come iniziare a sviluppare con il .NET Micro Framework &lt;/li&gt;    &lt;li&gt;Risorse utili per ottenere maggiori informazioni &lt;/li&gt; &lt;/ol&gt;  &lt;p&gt;Un saluto a tutti !&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/angellaa/aggbug/95063.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Angella</dc:creator>
            <guid>http://blogs.ugidotnet.org/angellaa/archive/2009/01/01/95063.aspx</guid>
            <pubDate>Thu, 01 Jan 2009 18:27:55 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/angellaa/comments/95063.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/angellaa/archive/2009/01/01/95063.aspx#feedback</comments>
            <slash:comments>32</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/angellaa/comments/commentRss/95063.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/angellaa/services/trackbacks/95063.aspx</trackback:ping>
        </item>
        <item>
            <title>Intervista al Team Leader di JQuery</title>
            <category>Javascript</category>
            <link>http://blogs.ugidotnet.org/angellaa/archive/2008/11/24/intervista-al-team-leader-di-jquery.aspx</link>
            <description>&lt;p&gt;Su &lt;a href="http://www.html.it/" target="_blank"&gt;HTML.it&lt;/a&gt; è possibile trovare la traduzione in italiano dell'interessante &lt;a href="http://javascript.html.it/articoli/leggi/2879/intervista-a-john-resig/1/" target="_blank"&gt;intervista a John Resig&lt;/a&gt; che è il Team Leader del framework JQuery.&lt;/p&gt;  &lt;p&gt;Può essere sicuramente interessante valutare l'acquisto del suo libro &lt;em&gt;&lt;a href="http://www.amazon.com/Pro-JavaScript-Techniques-John-Resig/dp/1590597273/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1227561318&amp;amp;sr=8-1" target="_blank"&gt;Pro Javascript Techniques&lt;/a&gt;&lt;/em&gt; e di un altro intitolato &lt;em&gt;&lt;a href="http://www.amazon.com/Secrets-JavaScript-Ninja-John-Resig/dp/193398869X/ref=sr_1_1?ie=UTF8&amp;amp;s=books&amp;amp;qid=1227562278&amp;amp;sr=1-1" target="_blank"&gt;Secrets of the Javascript Ninja&lt;/a&gt;&lt;/em&gt; che sarà disponibile il prossimo anno.&lt;/p&gt;  &lt;p&gt;Nel frattempo sono in attesa del libro &lt;strong&gt;&lt;a href="http://www.amazon.com/jQuery-Action-Bear-Bibeault/dp/1933988355" target="_blank"&gt;JQuery in Action&lt;/a&gt;&lt;/strong&gt; che sono molto curioso di leggere. &lt;a href="http://blogs.ugidotnet.org/rgm/Default.aspx" target="_blank"&gt;Gian Maria&lt;/a&gt; è colpa tua :-)&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/angellaa/WindowsLiveWriter/IntervistaalTeamLeaderdiJQuery_13C1A/jquery_2.jpg"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="240" alt="jquery" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/angellaa/WindowsLiveWriter/IntervistaalTeamLeaderdiJQuery_13C1A/jquery_thumb.jpg" width="240" border="0" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/angellaa/aggbug/94741.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Angella</dc:creator>
            <guid>http://blogs.ugidotnet.org/angellaa/archive/2008/11/24/intervista-al-team-leader-di-jquery.aspx</guid>
            <pubDate>Mon, 24 Nov 2008 21:37:18 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/angellaa/comments/94741.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/angellaa/archive/2008/11/24/intervista-al-team-leader-di-jquery.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/angellaa/comments/commentRss/94741.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/angellaa/services/trackbacks/94741.aspx</trackback:ping>
        </item>
        <item>
            <title>[70-536] GZipStream class, DeflateStream class and Isolated Storage</title>
            <category>Exam 70-536 Application Development Foundation</category>
            <link>http://blogs.ugidotnet.org/angellaa/archive/2008/11/18/70-536-gzipstream-class-deflatestream-class-and-isolated-storage.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;Area di riferimento&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;- Implementing serialization and input/output functionality in a .NET Framework application (18 percent)    &lt;br /&gt;   - Compress or decompress stream information in a .NET Framework application and improve the security of application data by using isolated storage     &lt;br /&gt;      - May include but is not limited to: IsolatedStorageFile class, IsolatedStorageFileStream class;     &lt;br /&gt;      - DeflateStream class; GZipStream class &lt;/p&gt;  &lt;p /&gt;  &lt;hr /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;GZipStream and DeflateStream classes&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;La classi &lt;strong&gt;GZipStream&lt;/strong&gt; e &lt;strong&gt;DeflateStream&lt;/strong&gt; permettono di comprimere dati utilizzando il famoso algoritmo di compressione Gzip. Conviene utilizzare la classe GZipStream nel caso in cui si intenda distribuire i file in modo che questi possano essere decompressi utilizzando l'ampiamente diffuso tool gzip.&lt;/p&gt;  &lt;p&gt;Queste classi si trovano nel namespace &lt;strong&gt;System.IO.Compression&lt;/strong&gt; e il loro utilizzo è molto semplice.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font /&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:d2be8732-e07e-4ee1-a376-323d0c8ceebb" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:WhiteSmoke;;overflow: none;;font-family:Consolas;font-size:12"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #000000; "&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;class&lt;/span&gt;&lt;span style="color: #000000; "&gt; Program
    {
        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;static&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;void&lt;/span&gt;&lt;span style="color: #000000; "&gt; Main(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt;[] args)
        {
            File.WriteAllText(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;source.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, &lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Il contenuto di questo file verra' compresso.&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);

            &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt; File compression&lt;/span&gt;&lt;span style="color: #008000; "&gt;
&lt;/span&gt;&lt;span style="color: #000000; "&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; (FileStream sourceFile &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; File.Open(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;source.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, FileMode.Open))
            {
                &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; (FileStream destinationFile &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; File.Open(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;destination.dat&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, FileMode.Create))
                {
                    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; (GZipStream comp &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; GZipStream(destinationFile, CompressionMode.Compress))
                    {
                        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; b;
                        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;while&lt;/span&gt;&lt;span style="color: #000000; "&gt; ((b &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; sourceFile.ReadByte()) &lt;/span&gt;&lt;span style="color: #000000; "&gt;!=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;-&lt;/span&gt;&lt;span style="color: #000000; "&gt;1&lt;/span&gt;&lt;span style="color: #000000; "&gt;)
                        {
                            comp.WriteByte((&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;byte&lt;/span&gt;&lt;span style="color: #000000; "&gt;)b);
                        }
                    }
                }
            }  
         
            &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt; File decompression&lt;/span&gt;&lt;span style="color: #008000; "&gt;
&lt;/span&gt;&lt;span style="color: #000000; "&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; (FileStream sourceFile &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; File.Open(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;destination.dat&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, FileMode.Open))
            {
                &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; (FileStream destinationFile &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; File.Open(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;new-source.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, FileMode.Create))
                {
                    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; (GZipStream decomp &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; GZipStream(sourceFile, CompressionMode.Decompress))
                    {
                        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;int&lt;/span&gt;&lt;span style="color: #000000; "&gt; b;
                        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;while&lt;/span&gt;&lt;span style="color: #000000; "&gt; ((b &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; decomp.ReadByte()) &lt;/span&gt;&lt;span style="color: #000000; "&gt;!=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #000000; "&gt;-&lt;/span&gt;&lt;span style="color: #000000; "&gt;1&lt;/span&gt;&lt;span style="color: #000000; "&gt;)
                        {
                            destinationFile.WriteByte((&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;byte&lt;/span&gt;&lt;span style="color: #000000; "&gt;)b);
                        }
                    }
                }
            }

            Console.WriteLine(File.ReadAllText(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;new-source.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;));
            Console.ReadKey();
        }
    }&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;&lt;font size="3" /&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;font size="3" /&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;&lt;font&gt;Isolated Storage&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;L'Isolated Storage è un repository all'interno del quale è possibile leggere e scrivere dati in maniera sicura indipendentemente dai privilegi di cui disponde il codice.&lt;/p&gt;

&lt;p&gt;La prima cosa da fare quando si lavora con l'isolated storage è scegliere l'ambito in cui saranno memorizzati i dati:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Assembly/Machine&lt;/strong&gt; : Si utilizza questo ambito per persistere dati a livello di applicazione. &lt;/li&gt;

  &lt;li&gt;&lt;strong&gt;Assembly/User&lt;/strong&gt; : Si utilizza questo ambito per persistere dati a livello di utente. Ogni utente della macchina avrà le sue impostazioni specifiche. &lt;/li&gt;

  &lt;li&gt;... &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;L'utilizzo dell'Isolated Storage ruota intorno alle classi &lt;strong&gt;IsolatedStorageFile&lt;/strong&gt; e &lt;strong&gt;IsolatedStorageFileStream&lt;/strong&gt;. E' inoltre possibile utilizzare l'attributo &lt;strong&gt;IsolatedStorageFilePermission&lt;/strong&gt; per specificare il permesso di accedere all'Isolated Storage e impostare altri parametri come ad esempio la quota massima di spazio da associare a ciascun utente.&lt;/p&gt;

&lt;p&gt; &lt;/p&gt;

&lt;div class="wlWriterSmartContent" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E6:6fa3d32c-655a-4995-b5d3-e1116232121a" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:WhiteSmoke;;overflow: none;;font-family:Consolas;font-size:12"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #000000; "&gt;    [IsolatedStorageFilePermission(SecurityAction.Demand, UserQuota&lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt;256&lt;/span&gt;&lt;span style="color: #000000; "&gt;)]
    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;class&lt;/span&gt;&lt;span style="color: #000000; "&gt; Program
    {
        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;static&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;void&lt;/span&gt;&lt;span style="color: #000000; "&gt; Main(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt;[] args)
        {
            &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt; Assembly/Machine Scope - Writing data&lt;/span&gt;&lt;span style="color: #008000; "&gt;
&lt;/span&gt;&lt;span style="color: #000000; "&gt;
            IsolatedStorageFile applicationStorage &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; IsolatedStorageFile.GetMachineStoreForAssembly();

            IsolatedStorageFileStream applicationStream &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; 
                &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; IsolatedStorageFileStream(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;application-settings.dat&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, FileMode.Create, applicationStorage);

            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; (StreamWriter writer &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; StreamWriter(applicationStream))
            {
                writer.Write(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Informazioni a livello applicazione&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
            }

            &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt; User/Machine Scope - Writing data&lt;/span&gt;&lt;span style="color: #008000; "&gt;
&lt;/span&gt;&lt;span style="color: #000000; "&gt;
            IsolatedStorageFile userStorage &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; IsolatedStorageFile.GetUserStoreForAssembly();

            IsolatedStorageFileStream userStream &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt;
                &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; IsolatedStorageFileStream(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;user-settings.dat&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, FileMode.Create, userStorage);

            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; (StreamWriter writer &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; StreamWriter(userStream))
            {
                writer.Write(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Informazioni a livello utente in user-settings.dat&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
            }

            userStorage.CreateDirectory(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;folder&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);

            userStream &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; IsolatedStorageFileStream(&lt;/span&gt;&lt;span style="color: #000000; "&gt;@"&lt;/span&gt;&lt;span style="color: #000000; "&gt;folder\user-settings.dat&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, FileMode.Create, userStorage);

            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; (StreamWriter writer &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; StreamWriter(userStream))
            {
                writer.Write(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Informazioni a livello utente in folder\\user-settings.dat&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
            }

            &lt;/span&gt;&lt;span style="color: #008000; "&gt;//&lt;/span&gt;&lt;span style="color: #008000; "&gt; Reading data&lt;/span&gt;&lt;span style="color: #008000; "&gt;
&lt;/span&gt;&lt;span style="color: #000000; "&gt;
            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Directories :&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;foreach&lt;/span&gt;&lt;span style="color: #000000; "&gt; (&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; directory &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;in&lt;/span&gt;&lt;span style="color: #000000; "&gt; userStorage.GetDirectoryNames(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;*&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;))
            {
                Console.WriteLine(directory);
            }

            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Files *.dat :&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;foreach&lt;/span&gt;&lt;span style="color: #000000; "&gt; (&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt; file &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;in&lt;/span&gt;&lt;span style="color: #000000; "&gt; userStorage.GetFileNames(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;*.dat&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;))
            {
                Console.WriteLine(file);
            }

            Console.ReadKey();
        }
    }&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;&lt;img src="http://blogs.ugidotnet.org/angellaa/aggbug/94686.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Angella</dc:creator>
            <guid>http://blogs.ugidotnet.org/angellaa/archive/2008/11/18/70-536-gzipstream-class-deflatestream-class-and-isolated-storage.aspx</guid>
            <pubDate>Tue, 18 Nov 2008 13:07:17 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/angellaa/comments/94686.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/angellaa/archive/2008/11/18/70-536-gzipstream-class-deflatestream-class-and-isolated-storage.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/angellaa/comments/commentRss/94686.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/angellaa/services/trackbacks/94686.aspx</trackback:ping>
        </item>
        <item>
            <title>[70-536] - File System classes and Streams</title>
            <category>Exam 70-536 Application Development Foundation</category>
            <link>http://blogs.ugidotnet.org/angellaa/archive/2008/11/18/70-536-file-system-classes-and-streams.aspx</link>
            <description>&lt;p&gt;&lt;strong&gt;Area di riferimento&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;- Implementing serialization and input/output functionality in a .NET Framework application (18 percent)    &lt;br /&gt;   - Access files and folders by using the File System classes     &lt;br /&gt;      - May include but is not limited to: File class and FileInfo class; Directory class and DirectoryInfo class;     &lt;br /&gt;      - DriveInfo class and DriveType enumeration; FileSystemInfo class and FileSystemWatcher class; Path class;     &lt;br /&gt;      - ErrorEventArgs class and ErrorEventHandler delegate; RenamedEventArgs class and RenamedEventHandler delegate     &lt;br /&gt;   - Manage byte streams by using Stream classes     &lt;br /&gt;      - May include but is not limited to: FileStream class; Stream class; MemoryStream; BufferedStream class     &lt;br /&gt;   - Manage .NET Framework application data by using Reader and Writer classes     &lt;br /&gt;      - May include but is not limited to: StringReader class and StringWriter class; TextReader class and TextWriter class;     &lt;br /&gt;      - StreamReader class and Stream Writer class; BinaryReader class and BinaryWriter class&lt;/p&gt;  &lt;p /&gt;  &lt;hr /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p /&gt;  &lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;File System classes&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Il framework .NET offre numerose classi che permettono l'accesso al file system.&lt;/p&gt;  &lt;p&gt;La classe &lt;strong&gt;DriveInfo&lt;/strong&gt; permette di ottenere informazioni relative ai drive presenti sulla macchina. La classe &lt;strong&gt;File&lt;/strong&gt; permette di effettuare alcune tipiche operazioni sui file come la copia, la creazione e la cancellazione. Le classi &lt;strong&gt;FileInfo&lt;/strong&gt; e &lt;strong&gt;DirectoryInfo&lt;/strong&gt; derivano da &lt;strong&gt;FileSystemInfo&lt;/strong&gt; e consentono di accedere a diverse informazioni relative a file e directory. Utilizzando queste classi inoltre è estremamente semplice navigare attraverso il file system ottenendo l'elenco dei file presenti all'interno di una directory e l'elenco di directory presenti all'interno di un'altra directory. La classe &lt;strong&gt;Path&lt;/strong&gt; fornisce un valido supporto per estrapolare informazioni relative ad un path e soprattutto offre una comoda funzione per combinare due path fra loro.&lt;/p&gt;  &lt;p&gt;Grazie all'interessantissima classe &lt;strong&gt;FileSystemWatcher&lt;/strong&gt; è inoltre possibile monitorare in tempo reale le modifiche che vengono compiute all'interno di una particolare cartella semplicemente gestendo opportuni eventi.&lt;/p&gt;  &lt;p&gt;Di seguito riporto un pò di codice che utilizza tutte queste classi. Il loro utilizzo è molto intuitivo per questo non ritengo necessaria alcuna ulteriore spiegazione.&lt;/p&gt;  &lt;div class="wlWriterSmartContent" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:afec56a6-171e-4861-9fd6-6369f65e1682" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:WhiteSmoke;white-space:-moz-pre-wrap; white-space: -pre-wrap; white-space: -o-pre-wrap; white-space: pre-wrap; word-wrap: break-word;;overflow: auto;;font-family:Consolas;font-size:12"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #008080; "&gt;  1&lt;/span&gt; &lt;span style="color: #000000; "&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;class&lt;/span&gt;&lt;span style="color: #000000; "&gt; Program
&lt;/span&gt;&lt;span style="color: #008080; "&gt;  2&lt;/span&gt; &lt;span style="color: #000000; "&gt;    {
&lt;/span&gt;&lt;span style="color: #008080; "&gt;  3&lt;/span&gt; &lt;span style="color: #000000; "&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;static&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;void&lt;/span&gt;&lt;span style="color: #000000; "&gt; Main(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt;[] args)
&lt;/span&gt;&lt;span style="color: #008080; "&gt;  4&lt;/span&gt; &lt;span style="color: #000000; "&gt;        {
&lt;/span&gt;&lt;span style="color: #008080; "&gt;  5&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Drive\n&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;  6&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt;  7&lt;/span&gt; &lt;span style="color: #000000; "&gt;            DriveInfo driveInfo &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; DriveInfo(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;C&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;  8&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Name: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, driveInfo.Name);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;  9&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;TotalSize: {0} bytes&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, driveInfo.TotalSize);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 10&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;TotalFreeSpace: {0} bytes&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, driveInfo.TotalFreeSpace);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 11&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;AvailableFreeSpace: {0} bytes&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, driveInfo.AvailableFreeSpace);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 12&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;DriveFormat: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, driveInfo.DriveFormat);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 13&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;DriveType: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, driveInfo.DriveType);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 14&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;VolumeLabel: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, driveInfo.VolumeLabel);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 15&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 16&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;\nFile:\n&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 17&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 18&lt;/span&gt; &lt;span style="color: #000000; "&gt;            File.AppendAllText(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;file1.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, &lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Ciao a tutti da Andrea&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, Encoding.ASCII);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 19&lt;/span&gt; &lt;span style="color: #000000; "&gt;            File.Copy(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;file1.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, &lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;file2.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;true&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 20&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 21&lt;/span&gt; &lt;span style="color: #000000; "&gt;            FileInfo file2Info &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; FileInfo(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;file2.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 22&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;CreationTime: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, file2Info.CreationTime);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 23&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;LastWriteTime: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, file2Info.LastWriteTime);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 24&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;DirectoryName: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, file2Info.DirectoryName);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 25&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Exists: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, file2Info.Exists);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 26&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Extension: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, file2Info.Extension);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 27&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;FullName: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, file2Info.FullName);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 28&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Name: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, file2Info.Name);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 29&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;IsReadOnly: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, file2Info.IsReadOnly);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 30&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Length: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, file2Info.Length);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 31&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 32&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;\nDirectory:\n&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 33&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 34&lt;/span&gt; &lt;span style="color: #000000; "&gt;            DirectoryInfo dir2Info &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; file2Info.Directory;
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 35&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;CreationTime: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, dir2Info.CreationTime);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 36&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;FullTime: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, dir2Info.FullName);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 37&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Exists: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, dir2Info.Exists);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 38&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;LastAccessTime: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, dir2Info.LastAccessTime);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 39&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;LastWriteTime: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, dir2Info.LastWriteTime);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 40&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 41&lt;/span&gt; &lt;span style="color: #000000; "&gt;            dir2Info.CreateSubdirectory(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;folder1&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 42&lt;/span&gt; &lt;span style="color: #000000; "&gt;            dir2Info.CreateSubdirectory(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;folder2&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 43&lt;/span&gt; &lt;span style="color: #000000; "&gt;            dir2Info.CreateSubdirectory(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;folder3&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 44&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 45&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Files in folder: &lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 46&lt;/span&gt; &lt;span style="color: #000000; "&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;foreach&lt;/span&gt;&lt;span style="color: #000000; "&gt; (FileInfo fileInfo &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;in&lt;/span&gt;&lt;span style="color: #000000; "&gt; dir2Info.GetFiles())
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 47&lt;/span&gt; &lt;span style="color: #000000; "&gt;            {
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 48&lt;/span&gt; &lt;span style="color: #000000; "&gt;                Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;\t{0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, file2Info.Name);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 49&lt;/span&gt; &lt;span style="color: #000000; "&gt;            }
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 50&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 51&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Directory in folder: &lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 52&lt;/span&gt; &lt;span style="color: #000000; "&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;foreach&lt;/span&gt;&lt;span style="color: #000000; "&gt; (DirectoryInfo dirInfo &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;in&lt;/span&gt;&lt;span style="color: #000000; "&gt; dir2Info.GetDirectories())
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 53&lt;/span&gt; &lt;span style="color: #000000; "&gt;            {
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 54&lt;/span&gt; &lt;span style="color: #000000; "&gt;                Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;\t{0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, dirInfo.Name);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 55&lt;/span&gt; &lt;span style="color: #000000; "&gt;            }
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 56&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 57&lt;/span&gt; &lt;span style="color: #000000; "&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;if&lt;/span&gt;&lt;span style="color: #000000; "&gt; (Directory.Exists(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;folder1&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;))
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 58&lt;/span&gt; &lt;span style="color: #000000; "&gt;            {
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 59&lt;/span&gt; &lt;span style="color: #000000; "&gt;                Directory.Delete(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;folder1&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 60&lt;/span&gt; &lt;span style="color: #000000; "&gt;            }
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 61&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Directory.Delete(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;folder2&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 62&lt;/span&gt; &lt;span style="color: #000000; "&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; DirectoryInfo(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;folder3&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;).Delete();
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 63&lt;/span&gt; &lt;span style="color: #000000; "&gt;            file2Info.Delete();
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 64&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 65&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;\nPath: c:\\prova\\file.txt \n&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 66&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;GetDirectoryName: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, Path.GetDirectoryName(&lt;/span&gt;&lt;span style="color: #000000; "&gt;@"&lt;/span&gt;&lt;span style="color: #000000; "&gt;c:\prova\file.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;));
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 67&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;GetExtension: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, Path.GetExtension(&lt;/span&gt;&lt;span style="color: #000000; "&gt;@"&lt;/span&gt;&lt;span style="color: #000000; "&gt;c:\prova\file.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;));
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 68&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;GetFileName: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, Path.GetFileName(&lt;/span&gt;&lt;span style="color: #000000; "&gt;@"&lt;/span&gt;&lt;span style="color: #000000; "&gt;c:\prova\file.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;));
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 69&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;GetFileNameWithoutExtension: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, Path.GetFileNameWithoutExtension(&lt;/span&gt;&lt;span style="color: #000000; "&gt;@"&lt;/span&gt;&lt;span style="color: #000000; "&gt;c:\prova\file.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;));
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 70&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;GetFullPath: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, Path.GetFullPath(&lt;/span&gt;&lt;span style="color: #000000; "&gt;@"&lt;/span&gt;&lt;span style="color: #000000; "&gt;c:\prova\file.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;));
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 71&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;GetPathRoot: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, Path.GetPathRoot(&lt;/span&gt;&lt;span style="color: #000000; "&gt;@"&lt;/span&gt;&lt;span style="color: #000000; "&gt;c:\prova\file.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;));
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 72&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;GetRandomFileName: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, Path.GetRandomFileName());
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 73&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;GetTempPath: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, Path.GetTempPath());
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 74&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;GetTempFileName: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, Path.GetTempFileName());
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 75&lt;/span&gt; &lt;span style="color: #000000; "&gt;       
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 76&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Combine: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, Path.Combine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;c:\\prova1&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, &lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;prova2\\file.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;));
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 77&lt;/span&gt; &lt;span style="color: #000000; "&gt;            
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 78&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;\nFileSystemWatcher: \n&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 79&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 80&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Directory.CreateDirectory(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;folder&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 81&lt;/span&gt; &lt;span style="color: #000000; "&gt;            FileSystemWatcher fsWatcher &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; FileSystemWatcher(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;folder&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 82&lt;/span&gt; &lt;span style="color: #000000; "&gt;            fsWatcher.Created &lt;/span&gt;&lt;span style="color: #000000; "&gt;+=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; FileSystemEventHandler(fsWatcher_Created);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 83&lt;/span&gt; &lt;span style="color: #000000; "&gt;            fsWatcher.Deleted &lt;/span&gt;&lt;span style="color: #000000; "&gt;+=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; FileSystemEventHandler(fsWatcher_Deleted);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 84&lt;/span&gt; &lt;span style="color: #000000; "&gt;            fsWatcher.Changed &lt;/span&gt;&lt;span style="color: #000000; "&gt;+=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; FileSystemEventHandler(fsWatcher_Changed);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 85&lt;/span&gt; &lt;span style="color: #000000; "&gt;            fsWatcher.Renamed &lt;/span&gt;&lt;span style="color: #000000; "&gt;+=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; RenamedEventHandler(fsWatcher_Renamed);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 86&lt;/span&gt; &lt;span style="color: #000000; "&gt;            fsWatcher.Error &lt;/span&gt;&lt;span style="color: #000000; "&gt;+=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; ErrorEventHandler(fsWatcher_Error);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 87&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 88&lt;/span&gt; &lt;span style="color: #000000; "&gt;            fsWatcher.EnableRaisingEvents &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;true&lt;/span&gt;&lt;span style="color: #000000; "&gt;;
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 89&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 90&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.ReadKey();
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 91&lt;/span&gt; &lt;span style="color: #000000; "&gt;        }
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 92&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 93&lt;/span&gt; &lt;span style="color: #000000; "&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;static&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;void&lt;/span&gt;&lt;span style="color: #000000; "&gt; fsWatcher_Error(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;object&lt;/span&gt;&lt;span style="color: #000000; "&gt; sender, ErrorEventArgs e)
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 94&lt;/span&gt; &lt;span style="color: #000000; "&gt;        {
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 95&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;FileSystemWatcher Error\n&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 96&lt;/span&gt; &lt;span style="color: #000000; "&gt;        }
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 97&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 98&lt;/span&gt; &lt;span style="color: #000000; "&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;static&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;void&lt;/span&gt;&lt;span style="color: #000000; "&gt; fsWatcher_Changed(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;object&lt;/span&gt;&lt;span style="color: #000000; "&gt; sender, FileSystemEventArgs e)
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 99&lt;/span&gt; &lt;span style="color: #000000; "&gt;        {
&lt;/span&gt;&lt;span style="color: #008080; "&gt;100&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;ChangeType: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, e.ChangeType);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;101&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;FullPath: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, e.FullPath);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;102&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Name: {0}\n&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, e.Name);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;103&lt;/span&gt; &lt;span style="color: #000000; "&gt;        }
&lt;/span&gt;&lt;span style="color: #008080; "&gt;104&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt;105&lt;/span&gt; &lt;span style="color: #000000; "&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;static&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;void&lt;/span&gt;&lt;span style="color: #000000; "&gt; fsWatcher_Renamed(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;object&lt;/span&gt;&lt;span style="color: #000000; "&gt; sender, RenamedEventArgs e)
&lt;/span&gt;&lt;span style="color: #008080; "&gt;106&lt;/span&gt; &lt;span style="color: #000000; "&gt;        {
&lt;/span&gt;&lt;span style="color: #008080; "&gt;107&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;ChangeType: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, e.ChangeType);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;108&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;FullPath: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, e.FullPath);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;109&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Name: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, e.Name);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;110&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;OldFullPath: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, e.OldFullPath);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;111&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;OldName: {0}\n&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, e.OldName);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;112&lt;/span&gt; &lt;span style="color: #000000; "&gt;        }
&lt;/span&gt;&lt;span style="color: #008080; "&gt;113&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt;114&lt;/span&gt; &lt;span style="color: #000000; "&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;static&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;void&lt;/span&gt;&lt;span style="color: #000000; "&gt; fsWatcher_Deleted(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;object&lt;/span&gt;&lt;span style="color: #000000; "&gt; sender, FileSystemEventArgs e)
&lt;/span&gt;&lt;span style="color: #008080; "&gt;115&lt;/span&gt; &lt;span style="color: #000000; "&gt;        {
&lt;/span&gt;&lt;span style="color: #008080; "&gt;116&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;ChangeType: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, e.ChangeType);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;117&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;FullPath: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, e.FullPath);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;118&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Name: {0}\n&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, e.Name);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;119&lt;/span&gt; &lt;span style="color: #000000; "&gt;        }
&lt;/span&gt;&lt;span style="color: #008080; "&gt;120&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt;121&lt;/span&gt; &lt;span style="color: #000000; "&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;static&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;void&lt;/span&gt;&lt;span style="color: #000000; "&gt; fsWatcher_Created(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;object&lt;/span&gt;&lt;span style="color: #000000; "&gt; sender, FileSystemEventArgs e)
&lt;/span&gt;&lt;span style="color: #008080; "&gt;122&lt;/span&gt; &lt;span style="color: #000000; "&gt;        {
&lt;/span&gt;&lt;span style="color: #008080; "&gt;123&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;ChangeType: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, e.ChangeType);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;124&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;FullPath: {0}&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, e.FullPath);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;125&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Name: {0}\n&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, e.Name);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;126&lt;/span&gt; &lt;span style="color: #000000; "&gt;        }
&lt;/span&gt;&lt;span style="color: #008080; "&gt;127&lt;/span&gt; &lt;span style="color: #000000; "&gt;    }&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;

&lt;p&gt;&lt;strong&gt;&lt;font size="3"&gt;Streams&lt;/font&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Gli stream realizzano un meccanismo unificato per gestire l'accesso sequenziale e random ai dati. La classe astratta &lt;strong&gt;Stream&lt;/strong&gt; fornisce l'interfaccia di base e l'implementazione per tutti gli strem all'interno del Framework. Quando si apre un file viene restituito un oggetto di tipo &lt;strong&gt;FileStream&lt;/strong&gt; che offre una interfaccia di basso livello per l'accesso al file. Le classi &lt;strong&gt;StreamReader&lt;/strong&gt; e &lt;strong&gt;StreamWriter&lt;/strong&gt; facilitano la lettura e la scrittura di file di testo. Le classi &lt;strong&gt;BinaryReader&lt;/strong&gt; e &lt;strong&gt;BinaryWriter&lt;/strong&gt; invece permettono la lettura e la scrittura di dati binari in modo più semplice del dover lavorare direttamente su vettori di byte.&lt;/p&gt;

&lt;p&gt;Quando si lavora con piccoli file di testo è possibile utilizzare le funzioni &lt;strong&gt;File.WriteAllText&lt;/strong&gt; e &lt;strong&gt;File.ReadAllText&lt;/strong&gt; rispettivamente per scrivere un file di testo a partire da una stringa e per ottenere il contenuto di un file di testo all'interno di una stringa.&lt;/p&gt;

&lt;p&gt;La classe &lt;strong&gt;MemoryStream&lt;/strong&gt; fornisce le funzionalità per creare stream in memoria. Le classi &lt;strong&gt;StringReader&lt;/strong&gt; e &lt;strong&gt;StringWriter&lt;/strong&gt; invece svolgono le stesse funzionalità delle classi StreamReader e StreamWriter solo che la sorgente dati associata è una stringa al contrario di un file ( le classi astratte da cui derivano sono &lt;strong&gt;TextReader&lt;/strong&gt; e &lt;strong&gt;TextWriter&lt;/strong&gt; che implementano le funzionalità di base per la lettura e scrittura di testo).&lt;/p&gt;

&lt;p&gt;Ecco un pò di codice dimostrativo:&lt;/p&gt;

&lt;div class="wlWriterSmartContent" id="scid:57F11A72-B0E5-49c7-9094-E3A15BD5B5E7:e5fb8f4e-60a8-45e7-a2bd-5dee8ce38b48" style="padding-right: 0px; display: inline; padding-left: 0px; float: none; padding-bottom: 0px; margin: 0px; padding-top: 0px"&gt;&lt;pre style="background-color:WhiteSmoke;;overflow: auto;;font-family:Consolas;font-size:12"&gt;&lt;div&gt;&lt;!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

--&gt;&lt;span style="color: #008080; "&gt; 1&lt;/span&gt; &lt;span style="color: #000000; "&gt;    &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;class&lt;/span&gt;&lt;span style="color: #000000; "&gt; Program
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 2&lt;/span&gt; &lt;span style="color: #000000; "&gt;    {
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 3&lt;/span&gt; &lt;span style="color: #000000; "&gt;        &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;static&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;void&lt;/span&gt;&lt;span style="color: #000000; "&gt; Main(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;string&lt;/span&gt;&lt;span style="color: #000000; "&gt;[] args)
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 4&lt;/span&gt; &lt;span style="color: #000000; "&gt;        {
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 5&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;*** Text Streams: ***\n&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 6&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 7&lt;/span&gt; &lt;span style="color: #000000; "&gt;            FileStream fs &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; File.Open(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;file.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, FileMode.Create);
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 8&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt; 9&lt;/span&gt; &lt;span style="color: #000000; "&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;byte&lt;/span&gt;&lt;span style="color: #000000; "&gt;[] bytesTitolo &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; ASCIIEncoding().GetBytes(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Titolo del file\r\n\r\n&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;10&lt;/span&gt; &lt;span style="color: #000000; "&gt;            fs.Write(bytesTitolo, &lt;/span&gt;&lt;span style="color: #000000; "&gt;0&lt;/span&gt;&lt;span style="color: #000000; "&gt;, bytesTitolo.Length);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;11&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt;12&lt;/span&gt; &lt;span style="color: #000000; "&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; (StreamWriter sw &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; StreamWriter(fs))
&lt;/span&gt;&lt;span style="color: #008080; "&gt;13&lt;/span&gt; &lt;span style="color: #000000; "&gt;            {
&lt;/span&gt;&lt;span style="color: #008080; "&gt;14&lt;/span&gt; &lt;span style="color: #000000; "&gt;                sw.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Ciao a tutti&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;15&lt;/span&gt; &lt;span style="color: #000000; "&gt;                sw.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;il mio nome Ã¨ Andrea&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;16&lt;/span&gt; &lt;span style="color: #000000; "&gt;            }
&lt;/span&gt;&lt;span style="color: #008080; "&gt;17&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt;18&lt;/span&gt; &lt;span style="color: #000000; "&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; (StreamReader sr &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; File.OpenText(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;file.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;))
&lt;/span&gt;&lt;span style="color: #008080; "&gt;19&lt;/span&gt; &lt;span style="color: #000000; "&gt;            {
&lt;/span&gt;&lt;span style="color: #008080; "&gt;20&lt;/span&gt; &lt;span style="color: #000000; "&gt;                &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;while&lt;/span&gt;&lt;span style="color: #000000; "&gt; (&lt;/span&gt;&lt;span style="color: #000000; "&gt;!&lt;/span&gt;&lt;span style="color: #000000; "&gt;sr.EndOfStream)
&lt;/span&gt;&lt;span style="color: #008080; "&gt;21&lt;/span&gt; &lt;span style="color: #000000; "&gt;                {
&lt;/span&gt;&lt;span style="color: #008080; "&gt;22&lt;/span&gt; &lt;span style="color: #000000; "&gt;                    Console.WriteLine(sr.ReadLine());
&lt;/span&gt;&lt;span style="color: #008080; "&gt;23&lt;/span&gt; &lt;span style="color: #000000; "&gt;                }
&lt;/span&gt;&lt;span style="color: #008080; "&gt;24&lt;/span&gt; &lt;span style="color: #000000; "&gt;            }
&lt;/span&gt;&lt;span style="color: #008080; "&gt;25&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt;26&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine();
&lt;/span&gt;&lt;span style="color: #008080; "&gt;27&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt;28&lt;/span&gt; &lt;span style="color: #000000; "&gt;            File.WriteAllText(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;file2.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, &lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Prima riga del file2\r\nSeconda riga del file2&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;29&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(File.ReadAllText(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;file2.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;));
&lt;/span&gt;&lt;span style="color: #008080; "&gt;30&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt;31&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;\n*** Binary Streams: ***\n&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;32&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt;33&lt;/span&gt; &lt;span style="color: #000000; "&gt;            fs &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; File.Open(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;file3.dat&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, FileMode.Create);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;34&lt;/span&gt; &lt;span style="color: #000000; "&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; (BinaryWriter bw &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; BinaryWriter(fs))
&lt;/span&gt;&lt;span style="color: #008080; "&gt;35&lt;/span&gt; &lt;span style="color: #000000; "&gt;            {
&lt;/span&gt;&lt;span style="color: #008080; "&gt;36&lt;/span&gt; &lt;span style="color: #000000; "&gt;                bw.Write(&lt;/span&gt;&lt;span style="color: #000000; "&gt;'&lt;/span&gt;&lt;span style="color: #000000; "&gt;A&lt;/span&gt;&lt;span style="color: #000000; "&gt;'&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;37&lt;/span&gt; &lt;span style="color: #000000; "&gt;                bw.Write(&lt;/span&gt;&lt;span style="color: #0000FF; "&gt;true&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;38&lt;/span&gt; &lt;span style="color: #000000; "&gt;                bw.Write(&lt;/span&gt;&lt;span style="color: #000000; "&gt;12.45&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;39&lt;/span&gt; &lt;span style="color: #000000; "&gt;                bw.Write(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Ciao&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;40&lt;/span&gt; &lt;span style="color: #000000; "&gt;            }
&lt;/span&gt;&lt;span style="color: #008080; "&gt;41&lt;/span&gt; &lt;span style="color: #000000; "&gt;            fs &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; File.Open(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;file3.dat&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, FileMode.Open);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;42&lt;/span&gt; &lt;span style="color: #000000; "&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; (BinaryReader br &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; BinaryReader(fs))
&lt;/span&gt;&lt;span style="color: #008080; "&gt;43&lt;/span&gt; &lt;span style="color: #000000; "&gt;            {
&lt;/span&gt;&lt;span style="color: #008080; "&gt;44&lt;/span&gt; &lt;span style="color: #000000; "&gt;                Console.WriteLine(br.ReadChar());
&lt;/span&gt;&lt;span style="color: #008080; "&gt;45&lt;/span&gt; &lt;span style="color: #000000; "&gt;                Console.WriteLine(br.ReadBoolean());
&lt;/span&gt;&lt;span style="color: #008080; "&gt;46&lt;/span&gt; &lt;span style="color: #000000; "&gt;                Console.WriteLine(br.ReadDouble());
&lt;/span&gt;&lt;span style="color: #008080; "&gt;47&lt;/span&gt; &lt;span style="color: #000000; "&gt;                Console.WriteLine(br.ReadString());
&lt;/span&gt;&lt;span style="color: #008080; "&gt;48&lt;/span&gt; &lt;span style="color: #000000; "&gt;            }
&lt;/span&gt;&lt;span style="color: #008080; "&gt;49&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt;50&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;\n*** Memory Streams: ***\n&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;51&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt;52&lt;/span&gt; &lt;span style="color: #000000; "&gt;            MemoryStream ms &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; MemoryStream();
&lt;/span&gt;&lt;span style="color: #008080; "&gt;53&lt;/span&gt; &lt;span style="color: #000000; "&gt;            &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; (StreamWriter sw &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;new&lt;/span&gt;&lt;span style="color: #000000; "&gt; StreamWriter(ms))
&lt;/span&gt;&lt;span style="color: #008080; "&gt;54&lt;/span&gt; &lt;span style="color: #000000; "&gt;            {
&lt;/span&gt;&lt;span style="color: #008080; "&gt;55&lt;/span&gt; &lt;span style="color: #000000; "&gt;                sw.WriteLine(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;Scrivo su uno stream in memoria.&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;56&lt;/span&gt; &lt;span style="color: #000000; "&gt;                sw.Flush();
&lt;/span&gt;&lt;span style="color: #008080; "&gt;57&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt;58&lt;/span&gt; &lt;span style="color: #000000; "&gt;                &lt;/span&gt;&lt;span style="color: #0000FF; "&gt;using&lt;/span&gt;&lt;span style="color: #000000; "&gt; (fs &lt;/span&gt;&lt;span style="color: #000000; "&gt;=&lt;/span&gt;&lt;span style="color: #000000; "&gt; File.Open(&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;file.txt&lt;/span&gt;&lt;span style="color: #000000; "&gt;"&lt;/span&gt;&lt;span style="color: #000000; "&gt;, FileMode.Append))
&lt;/span&gt;&lt;span style="color: #008080; "&gt;59&lt;/span&gt; &lt;span style="color: #000000; "&gt;                {
&lt;/span&gt;&lt;span style="color: #008080; "&gt;60&lt;/span&gt; &lt;span style="color: #000000; "&gt;                    ms.WriteTo(fs);
&lt;/span&gt;&lt;span style="color: #008080; "&gt;61&lt;/span&gt; &lt;span style="color: #000000; "&gt;                }
&lt;/span&gt;&lt;span style="color: #008080; "&gt;62&lt;/span&gt; &lt;span style="color: #000000; "&gt;            }
&lt;/span&gt;&lt;span style="color: #008080; "&gt;63&lt;/span&gt; &lt;span style="color: #000000; "&gt;
&lt;/span&gt;&lt;span style="color: #008080; "&gt;64&lt;/span&gt; &lt;span style="color: #000000; "&gt;            Console.ReadKey();
&lt;/span&gt;&lt;span style="color: #008080; "&gt;65&lt;/span&gt; &lt;span style="color: #000000; "&gt;        }
&lt;/span&gt;&lt;span style="color: #008080; "&gt;66&lt;/span&gt; &lt;span style="color: #000000; "&gt;    }&lt;/span&gt;&lt;/div&gt;&lt;/pre&gt;&lt;!-- Code inserted with Steve Dunn's Windows Live Writer Code Formatter Plugin.  http://dunnhq.com --&gt;&lt;/div&gt;

&lt;p&gt;Infine è importante citare la classe &lt;strong&gt;BufferedStream&lt;/strong&gt; che permette di migliorare le performance implementando un meccanismo di lettura e scrittura bufferizzato.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/angellaa/aggbug/94685.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Angella</dc:creator>
            <guid>http://blogs.ugidotnet.org/angellaa/archive/2008/11/18/70-536-file-system-classes-and-streams.aspx</guid>
            <pubDate>Tue, 18 Nov 2008 12:51:37 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/angellaa/comments/94685.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/angellaa/archive/2008/11/18/70-536-file-system-classes-and-streams.aspx#feedback</comments>
            <slash:comments>1</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/angellaa/comments/commentRss/94685.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/angellaa/services/trackbacks/94685.aspx</trackback:ping>
        </item>
        <item>
            <title>DotNetToscana: il principio.</title>
            <link>http://blogs.ugidotnet.org/angellaa/archive/2008/11/08/dotnettoscana-il-principio.aspx</link>
            <description>&lt;p&gt;Io, Andrea Angella, sono diventato un membro della community UgiDotNet il giorno &lt;strong&gt;9 Agosto 2007&lt;/strong&gt; con il post &lt;a href="http://blogs.ugidotnet.org/angellaa/archive/2007/08/09/87672.aspx" target="_blank"&gt;Finalmente il mio blog tecnico&lt;/a&gt;. Circa un mese dopo alle &lt;strong&gt;ore 10:33 del giorno&lt;/strong&gt; &lt;strong&gt;11 Settembre 2007&lt;/strong&gt; (gli attentati fortunatamente non centrano niente) arriva nella mia casella di posta elettronica una mail da parte di &lt;a href="http://blogs.ugidotnet.org/bmatte" target="_blank"&gt;Matteo Baglini&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;Riporto il testo integrale di questa "storica" mail:&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;&lt;em&gt;&lt;strong&gt;"Ciao,         &lt;br /&gt;girovagando per il tuo blog ho letto che studi a Pisa quindi non credo che abiti fuori Toscana, spero di non essere invadente ed antipatico, però ti volevo chiedere se hai letto della cena che sto organizzando a Livorno &lt;/strong&gt;&lt;/em&gt;&lt;a href="http://blogs.ugidotnet.org/bmatte/archive/2007/09/06/cacciuccata-a-livorno-il-29-settembre.aspx"&gt;&lt;/a&gt;&lt;a href="http://blogs.ugidotnet.org/bmatte/archive/2007/09/06/cacciuccata-a-livorno-il-29-settembre.aspx.%20Ti"&gt;&lt;em&gt;&lt;strong&gt;http://blogs.ugidotnet.org/bmatte/archive/2007/09/06/cacciuccata-a-livorno-il-29-settembre.aspx&lt;/strong&gt;&lt;/em&gt;&lt;/a&gt;&lt;em&gt;&lt;strong&gt;. Ti va di venire? Se hai già letto l'annuncio e non sei interessato ti va di spiegarmi il perchè? Ti chiedo queste cose perchè ho visto che sono molto pochi i Toscani che hanno risposto all'appello e volevo capire il motivo, in modo da migliorare per un eventuale cena futura e perchè magari anche per questa. Ti chiedo ancora scusa per il disturbo e spero non essere stato scortese.&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;    &lt;p&gt;&lt;em&gt;&lt;strong&gt;Ciao Matteo."&lt;/strong&gt;&lt;/em&gt;      &lt;br /&gt;&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Ero molto felice di aver ricevuto quella mail ed ho accettato ben volentieri l'invito alla cena. Da quell'istante la mia presenza in UgiDotNet si è concretizzata, sapevo che quello sarebbe stato solo l'inizio di una serie di incontri che mi avrebbero permesso di conoscere personalmente persone eccezionali che condividono la mia forte passione per l'informatica e con le quali avrei potuto passare piacevoli momenti insieme per divertirsi, discutere e condividere esperienze. E così è stato...&lt;/p&gt;  &lt;p&gt;La sera del &lt;strong&gt;29 Settembre 2007&lt;/strong&gt; ho quindi partecipato alla prima cena con membri di UgiDotNet. Eravamo solamente in 4 (Io, Matteo Baglini, &lt;a href="http://blog.vivendobyte.net/" target="_blank"&gt;Igor Damiani&lt;/a&gt; e &lt;a href="http://blogs.ugidotnet.org/odamiani/Default.aspx" target="_blank"&gt;Omar Damiani&lt;/a&gt;) ma la serata è stata davvero molto piacevole. Verso mezzanotte i due fratelli Damiani (che ringrazio ancora per il forte spirito di community che mi hanno dimostrato) sono tornati a casa. Io avevo il treno verso le ore 3 quindi Matteo ha pensato di portarmi in un pub per fare quattro chiacchere. Dopo avermi presentato la ragazza (al contrario di me lui è felicemente fidanzato) e alcune sue amiche, non abbiamo resistito alla tentazione di tornare a parlare di .NET :-)&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;&lt;font color="#ff0000"&gt;E' proprio lì che per la primissima volta abbiamo parlato della possibilità di costruire insieme una nuova community&lt;/font&gt;&lt;/strong&gt; come punto di incontro di studenti e professionisti Microsoft presenti nella regione Toscana. I problemi erano tanti, in primis che eravamo pochi (la cena purtroppo era stata una triste conferma). Matteo pensava in grande, voleva fare le cose con i giusti tempi affinchè tutto non si rivelasse un fallimento, per questo prima di tutto voleva confrontarsi con altri ragazzi delle community regionali. &lt;strong&gt;Vedevo in lui una forte motivazione, un'estrema passione per il suo lavoro e soprattutto un incredibile spirito di community. &lt;/strong&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/angellaa/WindowsLiveWriter/LeoriginidiDotNetToscana_CB7E/logo_dotnet5_2.png"&gt;&lt;strong&gt;&lt;img style="border-right: 0px; border-top: 0px; margin: 10px; border-left: 0px; border-bottom: 0px" height="85" alt="logo_dotnet5" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/angellaa/WindowsLiveWriter/LeoriginidiDotNetToscana_CB7E/logo_dotnet5_thumb.png" width="85" align="right" border="0" /&gt;&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;Il giorno &lt;strong&gt;16 Ottobre 2008&lt;/strong&gt;, ad un anno da quella data, ai &lt;a href="http://www.microsoft.com/italy/eventi/days/technical.mspx" target="_blank"&gt;Microsoft Days 2008&lt;/a&gt; è stata &lt;a href="http://video.msn.com/?mkt=it-IT&amp;amp;playlist=videoByUuids:uuids:f34fef94-bb0d-4ae0-a706-68d67217881f&amp;amp;showPlaylist=true&amp;amp;from=msnvideo" target="_blank"&gt;ufficialmente presentata a Firenze&lt;/a&gt; la community &lt;a href="http://dotnettoscana.org/" target="_blank"&gt;DotNetToscana&lt;/a&gt;. &lt;/p&gt;  &lt;p&gt;DotNetToscana è per sua volontà una associazione no-profit, dove non esistono ruoli ufficiali ma tutto evolve grazie alla passione di ciascun membro. Nonostante questo per me, &lt;font color="#ff0000"&gt;&lt;strong&gt;Matteo Baglini è il Leader naturale del gruppo, colui che ha creduto e reso possibile tutto questo&lt;/strong&gt;. &lt;strong&gt;Oggi è il compleanno di Matteo e questo post è il mio regalo per lui.&lt;/strong&gt;&lt;/font&gt; &lt;/p&gt;  &lt;p&gt;Il più grande augurio è che DotNetToscana possa crescere per diventare un punto di riferimento e sicuramente tutti i suoi attuali membri si impegneranno per questo.&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Tanti auguri di Buon Compleanno Matteo !     &lt;br /&gt;Tanti auguri di Buon Inizio DotNetToscana !&lt;/strong&gt;&lt;/p&gt;  &lt;p&gt;Andrea&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/angellaa/aggbug/94556.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Angella</dc:creator>
            <guid>http://blogs.ugidotnet.org/angellaa/archive/2008/11/08/dotnettoscana-il-principio.aspx</guid>
            <pubDate>Sat, 08 Nov 2008 14:38:48 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/angellaa/comments/94556.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/angellaa/archive/2008/11/08/dotnettoscana-il-principio.aspx#feedback</comments>
            <slash:comments>3</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/angellaa/comments/commentRss/94556.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/angellaa/services/trackbacks/94556.aspx</trackback:ping>
        </item>
        <item>
            <title>&amp;quot;Informatica Industriale&amp;quot; superato alla grande :-)</title>
            <link>http://blogs.ugidotnet.org/angellaa/archive/2008/11/06/quotinformatica-industrialequot-superato-alla-grande.aspx</link>
            <description>&lt;p&gt;Questa mattina &lt;a href="http://www.angellaa.it/" target="_blank"&gt;io&lt;/a&gt; e il mio collega &lt;a href="http://nevi.altervista.org/" target="_blank"&gt;Vincenzo&lt;/a&gt; abbiamo sostenuto l'esame di Informatica Industriale conseguendo entrambi una votazione pari a &lt;strong&gt;30 e Lode &lt;/strong&gt;!&lt;/p&gt;  &lt;p&gt;L'esame consisteva (in parte) nella realizzazione del progetto di un semplice Sistema Embedded in modo da familiarizzare con la programmazione di microcontrollori. Abbiamo utilizzato il microcontrollore ADuC836 con un core a 8 bit (8052) e realizzato il software in linguaggio C.&lt;/p&gt;  &lt;p&gt;Il risultato si chiama &lt;strong&gt;Speedy Finger&lt;/strong&gt; ed è la realizzazione in hardware del semplice gioco del dito più veloce.    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;Di seguito il logo creato (ovviamente non realizzato da me che di grafica sono molto carente):&lt;/p&gt;  &lt;p&gt;&lt;a href="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/angellaa/WindowsLiveWriter/InformaticaIndustrialesuperatoallagrande_1219D/image_6.png"&gt;&lt;img style="border-right: 0px; border-top: 0px; border-left: 0px; border-bottom: 0px" height="181" alt="image" src="http://blogs.ugidotnet.org/images/blogs_ugidotnet_org/angellaa/WindowsLiveWriter/InformaticaIndustrialesuperatoallagrande_1219D/image_thumb_2.png" width="260" border="0" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Per l'occasione (come richiesto dai docenti) abbiamo realizzato un video di presentazione disponibile su YouTube anche in alta risoluzione:&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;&lt;embed src="http://www.youtube.com/v/5Sa6omx6qk8&amp;amp;hl=it&amp;amp;fs=1" width="425" height="344" type="application/x-shockwave-flash" allowfullscreen="true" allowscriptaccess="always" /&gt;&lt;/p&gt;  &lt;p&gt; &lt;/p&gt;  &lt;p&gt;Oggi termina una lunga &lt;a href="http://nevi.altervista.org/progetti.php" target="_blank"&gt;serie di progetti&lt;/a&gt; universitari che ho realizzato insieme a Vincenzo, &lt;strong&gt;collega ma soprattuto grande e sincero amico&lt;/strong&gt; che ringrazio particolarmente per aver reso molto più piacevole (se non divertente) questo ultimo anno accademico. &lt;/p&gt;  &lt;p&gt;Adesso personalmente cercherò di sostenere al più presto l'ultimo esame rimastomi per poi iniziare l'avventura della Tesi.&lt;/p&gt;&lt;img src="http://blogs.ugidotnet.org/angellaa/aggbug/94543.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Andrea Angella</dc:creator>
            <guid>http://blogs.ugidotnet.org/angellaa/archive/2008/11/06/quotinformatica-industrialequot-superato-alla-grande.aspx</guid>
            <pubDate>Thu, 06 Nov 2008 20:07:30 GMT</pubDate>
            <wfw:comment>http://blogs.ugidotnet.org/angellaa/comments/94543.aspx</wfw:comment>
            <comments>http://blogs.ugidotnet.org/angellaa/archive/2008/11/06/quotinformatica-industrialequot-superato-alla-grande.aspx#feedback</comments>
            <slash:comments>6</slash:comments>
            <wfw:commentRss>http://blogs.ugidotnet.org/angellaa/comments/commentRss/94543.aspx</wfw:commentRss>
            <trackback:ping>http://blogs.ugidotnet.org/angellaa/services/trackbacks/94543.aspx</trackback:ping>
        </item>
    </channel>
</rss>
