<rss version="2.0" 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/">
    <channel>
        <title>LINQ</title>
        <link>http://www.coding4art.com/category/21.aspx</link>
        <description>LINQ</description>
        <language>en-US</language>
        <copyright>Maurizio</copyright>
        <generator>Subtext Version 2.1.2.2</generator>
        <item>
            <title>LINQ &amp;ndash; Variabili temporanee con la parola chiave Let</title>
            <link>http://www.coding4art.com/archive/2010/09/03/linq-ndash-variabili-temporanee-con-la-parola-chiave-let.aspx</link>
            <description>&lt;p&gt;L’uso di LINQ apre davvero a scenari molto molto interessanti grazie alla sua potenza e flessibilità.&lt;/p&gt;  &lt;p&gt;Oggi ho scoperto che in una query LINQ è possibile costruire una variabile temporanea ed utilizzarla successivamente nella esposizione del risultato della query.&lt;/p&gt;  &lt;p&gt;Ecco un esempio:&lt;/p&gt;  &lt;div style="border-bottom: silver 1px solid; text-align: left; border-left: silver 1px solid; padding-bottom: 4px; line-height: 12pt; background-color: #f4f4f4; margin: 20px 0px 10px; padding-left: 4px; width: 99.8%; padding-right: 4px; font-family: 'Courier New', courier, monospace; direction: ltr; height: 153px; max-height: 200px; font-size: 8pt; overflow: visible; border-top: silver 1px solid; cursor: text; border-right: silver 1px solid; padding-top: 4px" id="codeSnippetWrapper"&gt;   &lt;div style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px" id="codeSnippet"&gt;     &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum1"&gt;   1:&lt;/span&gt; List&amp;lt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&amp;gt; prices = &lt;span style="color: #0000ff"&gt;new&lt;/span&gt; List&amp;lt;&lt;span style="color: #0000ff"&gt;int&lt;/span&gt;&amp;gt;() { 1500, 3000, 4000, 8000 };&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum2"&gt;   2:&lt;/span&gt; var query = from p &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; prices&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum3"&gt;   3:&lt;/span&gt;     let discount = p * 0.10&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum4"&gt;   4:&lt;/span&gt;     select discount;&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum5"&gt;   5:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum6"&gt;   6:&lt;/span&gt; &lt;span style="color: #0000ff"&gt;foreach&lt;/span&gt; (&lt;span style="color: #0000ff"&gt;int&lt;/span&gt; discount &lt;span style="color: #0000ff"&gt;in&lt;/span&gt; query)&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum7"&gt;   7:&lt;/span&gt;     Console.WriteLine (discount);&lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: #f4f4f4; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum8"&gt;   8:&lt;/span&gt;  &lt;/pre&gt;
&lt;!--CRLF--&gt;

    &lt;pre style="border-bottom-style: none; text-align: left; padding-bottom: 0px; line-height: 12pt; border-right-style: none; background-color: white; margin: 0em; padding-left: 0px; width: 100%; padding-right: 0px; font-family: 'Courier New', courier, monospace; direction: ltr; border-top-style: none; color: black; font-size: 8pt; border-left-style: none; overflow: visible; padding-top: 0px"&gt;&lt;span style="color: #606060" id="lnum9"&gt;   9:&lt;/span&gt; &lt;span style="color: #008000"&gt;// Stampa 150, 300, 400, 800&lt;/span&gt;&lt;/pre&gt;
&lt;!--CRLF--&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;Nella query LINQ precedente, mediante la parola chiave “&lt;strong&gt;let” &lt;/strong&gt;è possibile creare una variabile temporanea (&lt;strong&gt;discount&lt;/strong&gt; nell’esempio), farci delle manipolazioni, e ritrovarsi la variabile nella query. &lt;/p&gt;

&lt;p&gt;Figo &lt;img alt="smile_regular" src="http://spaces.live.com/rte/emoticons/smile_regular.gif" /&gt;&lt;/p&gt;&lt;img src="http://www.coding4art.com/aggbug/183.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Maurizio</dc:creator>
            <guid>http://www.coding4art.com/archive/2010/09/03/linq-ndash-variabili-temporanee-con-la-parola-chiave-let.aspx</guid>
            <pubDate>Fri, 03 Sep 2010 09:58:00 GMT</pubDate>
            <wfw:comment>http://www.coding4art.com/comments/183.aspx</wfw:comment>
            <comments>http://www.coding4art.com/archive/2010/09/03/linq-ndash-variabili-temporanee-con-la-parola-chiave-let.aspx#feedback</comments>
            <wfw:commentRss>http://www.coding4art.com/comments/commentRss/183.aspx</wfw:commentRss>
            <trackback:ping>http://www.coding4art.com/services/trackbacks/183.aspx</trackback:ping>
        </item>
        <item>
            <title>Link utili della settimana #10</title>
            <link>http://www.coding4art.com/archive/2010/07/30/link-utili-della-settimana-10.aspx</link>
            <description>&lt;p&gt;- &lt;a href="http://wlwzipperplugin.codeplex.com/"&gt;On the Fly Zip and Attach" Windows Live Writer Plugin&lt;/a&gt;     &lt;br /&gt;Questo add-in è utile a tutti i bloggers che (come me) usano Windows Live Writer per scrivere e pubblicare i propri posts. Esso permette di selezionare files / directory dal proprio PC, zipparli al volo ed includerli come allegato al proprio post onde permettere al lettore di farne il download. Decisamente da provare. &lt;/p&gt;  &lt;p&gt;- &lt;a href="http://weblogs.asp.net/ricardoperes/archive/2010/06/29/dynamic-linq-methods.aspx"&gt;Dynamic LINQ Methods&lt;/a&gt;     &lt;br /&gt;Molto molto interessante. Trattasi di una serie di extensions methods per effettuare query Linq con parametri stringa (es. where, groupby, orderby, ecc), e quindi dinamici a run-time. Questa è una funzionalità parecchio utile che sarebbe stato meglio includerla come parte integrante dei vari providers Linq (a mio modesto parere).&lt;/p&gt;  &lt;p&gt;- &lt;a href="http://code.msdn.microsoft.com/cs2010samples"&gt;Visual C# 2010 samples&lt;/a&gt;     &lt;br /&gt;Parecchi esempi di codice su C# 4.0 e Linq&lt;/p&gt;&lt;img src="http://www.coding4art.com/aggbug/177.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>Maurizio</dc:creator>
            <guid>http://www.coding4art.com/archive/2010/07/30/link-utili-della-settimana-10.aspx</guid>
            <pubDate>Fri, 30 Jul 2010 14:50:00 GMT</pubDate>
            <wfw:comment>http://www.coding4art.com/comments/177.aspx</wfw:comment>
            <comments>http://www.coding4art.com/archive/2010/07/30/link-utili-della-settimana-10.aspx#feedback</comments>
            <wfw:commentRss>http://www.coding4art.com/comments/commentRss/177.aspx</wfw:commentRss>
            <trackback:ping>http://www.coding4art.com/services/trackbacks/177.aspx</trackback:ping>
        </item>
        <item>
            <title>i4o (ovvero index for objects)</title>
            <link>http://www.coding4art.com/archive/2009/09/02/i4o-ovvero-index-for-objects.aspx</link>
            <description>&lt;p&gt;Per chi (come me) utilizza LINQ  questo &lt;a href="http://i4o.codeplex.com/" target="_blank"&gt;progetto&lt;/a&gt; presente su &lt;a href="http://www.codeplex.com/" target="_blank"&gt;Codeplex&lt;/a&gt; è senz'altro interessante.&lt;/p&gt; &lt;p&gt;Come è noto LINQ  effettua  le ricerche in modo sequenziale, cosa che su collezioni con parecchi items può dar luogo ad un degrado delle prestazioni.&lt;/p&gt; &lt;p&gt;Questo progetto si prefigge come obiettivo quello di dotare LINQ della ricerca indicizzata degli elementi, che, stando a quanto riportato nella descrizione del progetto, è in grado di rendere le query oltre mille volte più veloci rispetto alla ricerca sequenziale.&lt;/p&gt; &lt;p&gt;Il progetto è attualmente in Beta 3, e non ci sono rilasci pianificati. &lt;/p&gt; &lt;p&gt;Sarebbe interessante da provare (avendone il tempo ! &lt;img alt="smile_regular" src="http://spaces.live.com/rte/emoticons/smile_regular.gif" /&gt;).&lt;/p&gt; &lt;p&gt;Se qualcuno lo ha già fatto sarei lieto di leggerele impressioni di utilizzo.&lt;/p&gt;&lt;img src="http://www.coding4art.com/aggbug/117.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>maurizio</dc:creator>
            <guid>http://www.coding4art.com/archive/2009/09/02/i4o-ovvero-index-for-objects.aspx</guid>
            <pubDate>Wed, 02 Sep 2009 03:12:42 GMT</pubDate>
            <wfw:comment>http://www.coding4art.com/comments/117.aspx</wfw:comment>
            <comments>http://www.coding4art.com/archive/2009/09/02/i4o-ovvero-index-for-objects.aspx#feedback</comments>
            <wfw:commentRss>http://www.coding4art.com/comments/commentRss/117.aspx</wfw:commentRss>
            <trackback:ping>http://www.coding4art.com/services/trackbacks/117.aspx</trackback:ping>
        </item>
        <item>
            <title>101 LINQ Samples</title>
            <link>http://www.coding4art.com/archive/2008/04/23/101-linq-samples.aspx</link>
            <description>&lt;p&gt;Se lavorate con LINQ, questa pagina è utile averla sempre a portata di mouse. &lt;/p&gt; &lt;p&gt;&lt;a href="http://msdn2.microsoft.com/en-us/vcsharp/aa336746.aspx"&gt;101 LINQ Samples&lt;/a&gt;&lt;/p&gt;&lt;img src="http://www.coding4art.com/aggbug/85.aspx" width="1" height="1" /&gt;</description>
            <dc:creator>maurizio</dc:creator>
            <guid>http://www.coding4art.com/archive/2008/04/23/101-linq-samples.aspx</guid>
            <pubDate>Wed, 23 Apr 2008 04:51:53 GMT</pubDate>
            <wfw:comment>http://www.coding4art.com/comments/85.aspx</wfw:comment>
            <comments>http://www.coding4art.com/archive/2008/04/23/101-linq-samples.aspx#feedback</comments>
            <wfw:commentRss>http://www.coding4art.com/comments/commentRss/85.aspx</wfw:commentRss>
            <trackback:ping>http://www.coding4art.com/services/trackbacks/85.aspx</trackback:ping>
        </item>
    </channel>
</rss>