<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="https://www.dotnetzone.gr:443/cs/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>.NET Framework</title><link>https://www.dotnetzone.gr:443/cs/forums/14/ShowForum.aspx</link><description>Θέματα για threading, remoting, reflection, exception handling, security, regex κλπ.</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Using</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/63972.aspx</link><pubDate>Sun, 06 Mar 2011 07:00:58 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:63972</guid><dc:creator>odyodyodys</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/63972.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=63972</wfw:commentRss><description>Έχω χρησιμοποιήσει το using σε εφαρμογές που χρησιμοποιούν GDI.&lt;br&gt;Είναι περισσότερο για να πεις πότε θα πεθάνει κάτι, αντί να περιμένεις πότε θα το μαζέψει ο GC.&lt;br&gt;Στο GDI συγκεκριμένα, επειδή απαιτείται πολύ μνήμη (γραφικά) είναι απαραίτητο για να πεις πότε να το καθαρίσει.&lt;br&gt;Διαφορετικά, μια μικρή εφαρμογή επεξεργασίας εικόνας μπορεί να μαζέψει άνετα 500Mb μνήμη.. Πράγμα που δεν το θέλουμε!&lt;br&gt;</description></item><item><title>Απ: Using</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62893.aspx</link><pubDate>Wed, 02 Feb 2011 01:14:55 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62893</guid><dc:creator>dimos.homatas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62893.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=62893</wfw:commentRss><description>Crystal clear, ευχαριστώ!</description></item><item><title>Απ: Using</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62891.aspx</link><pubDate>Wed, 02 Feb 2011 00:12:27 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62891</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62891.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=62891</wfw:commentRss><description>Το ότι υπάρχουν οι αγκύλες { } σημαίνει καταρχήν ότι υπάρχει scope. Το using από πίσω μεταφράζεται σε ένα try ... finally το οποίο περιέχει τον κώδικα που εσύ βάζεις μέσα στις αγκύλες - άρα υπάρχει scope.&amp;nbsp;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Εξάλλου, το ότι υπάρχει scope είναι A Good Thing καθώς περιορίζει το scope των μεταβλητών εκεί που χρησιμοποιούνται και δεν ξεφεύγουν παραέξω. Όσο μεγαλύτερο το scope μίας μεταβλητής &amp;nbsp;τόσο πιθανότερο να χρησιμοποιηθεί κατά λάθος εκεί που δεν χρειάζεται, ειδικά αν πρόκειται για temp variables των οποίων τα ονόματα συχνά ξαναχρησιμοποιούμε λόγω τεμπελιάς.&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Και όσον αφορά το παράδειγμα σου, θα ήταν καλύτερο να έφτιαχνες ένα ξεχωριστό function, π.χ. GetFileContents(string filePath) η οποία θα επέστρεφε τα περιεχόμενα του αρχείου, περιορίζοντας έτσι ακόμη περισσότερο την πιθανότητα παρενεργειών.&lt;/div&gt;</description></item><item><title>Using</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/62890.aspx</link><pubDate>Tue, 01 Feb 2011 23:49:02 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:62890</guid><dc:creator>dimos.homatas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/62890.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=62890</wfw:commentRss><description>&lt;pre&gt;&lt;span class="Apple-style-span" style="font-family:Tahoma, Verdana, Arial, Helvetica, sans-serif;white-space:normal;"&gt;Να κάνω μια ερώτηση ημι-φιλολογικής φύσεως...&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span class="Apple-style-span" style="font-family:Tahoma, Verdana, Arial, Helvetica, sans-serif;white-space:normal;"&gt;...Γιατί το using έχει scope;&amp;nbsp;&lt;/span&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="color:Black;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;using&lt;/span&gt; (TextReader tr &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; StreamReader(&lt;span style="color:#666666;background-color:#e4e4e4;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"result.html"&lt;/span&gt;))
{
    &lt;span style="color:Blue;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;string&lt;/span&gt; readmaildata &lt;span style="color:Red;background-color:Transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; tr.ReadToEnd();
    tr.Close();
}&lt;/span&gt;&lt;/pre&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Ποιος ο λόγος να μην &amp;nbsp;μπορώ να χρησιμοποιήσω το string μου στην υπόλοιπη ρουτίνα; Από ότι καταλαβαίνω το using απλώς κάνει dispose το εκάστοτε αντικείμενο που ορίζει. Γιατί έχει scope στις μεταβλητές;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;Θα μου πεις, βάλε το string πάνω από το using κλπ, οκ, αλλά είπα, είναι ημι-φιλολογική ερώτηση&amp;nbsp;&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-2.gif" alt="Big Smile" /&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;&lt;div&gt;&lt;br&gt;&lt;/div&gt;</description></item></channel></rss>