<?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>Απ: Απορία για Enumerator</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35183.aspx</link><pubDate>Thu, 20 Sep 2007 20:38:25 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35183</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35183.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=35183</wfw:commentRss><description>&lt;P&gt;Θα μπορούσαμε να πούμε και το δεύτερο αλλά προφανώς δεν ενδιαφέρει (αυτόν που έγραψε το πρώτο το query) το queryResult να είναι List&amp;lt;Person&amp;gt;, δηλαδή να μην θέλει όλο το functionality που δίνει ένα List&amp;lt;&amp;gt; αλλά μόνο το functionality που δίνει το IEnumerable&amp;lt;&amp;gt;&lt;/P&gt;</description></item><item><title>Απ: Απορία για Enumerator</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35182.aspx</link><pubDate>Thu, 20 Sep 2007 20:03:56 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35182</guid><dc:creator>DeClen</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35182.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=35182</wfw:commentRss><description>Χμμ, μάλιστα άρχισα να καταλαβαίνω τι γίνεται...&lt;img src="http://www.dotnetzone.gr/cs/emoticons/emotion-18.gif" alt="Huh?" /&gt;&lt;br&gt;&lt;br&gt;Το "κακό" είναι ότι ψάχνοντας τα συγκεκριμένα interfaces έπεσα μάλλον κατευθείαν στα βαθιά. Τι εννοώ; Στο παράδειγμα που παραθέτω θα είχε νόημα η δήλωση;&lt;br&gt;&lt;br&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;public&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt; ProductsList: IEnumerable&amp;lt;Products&amp;gt;&lt;/span&gt;&lt;br&gt;&lt;br&gt;Το λέω αυτό, γιατί σε κάποια παραδείγματα που έχω ψάξει (πχ LINQ) είδα τις παρακάτω δηλώσεις&lt;br&gt;&lt;br&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="margin:0px;padding:2px;font-family:courier new;font-size:11px;color:gray;"&gt;1&lt;br&gt;2&lt;br&gt;3&lt;br&gt;4&lt;br&gt;5&lt;br&gt;6&lt;br&gt;7&lt;br&gt;8&lt;br&gt;9&lt;br&gt;10&lt;br&gt;11&lt;br&gt;12&lt;br&gt;13&lt;br&gt;14&lt;br&gt; &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Green;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;//the class&lt;/span&gt;&lt;br&gt;&lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt; Person&lt;br&gt;{&lt;br&gt;   &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&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; MyName { get; set; }&lt;br&gt;}&lt;br&gt;&lt;br&gt;&lt;span style="color:Green;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;//list persons&lt;/span&gt;&lt;br&gt;List&amp;lt;Person&amp;gt; people &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; List&amp;lt;Person&amp;gt;&lt;br&gt;{&lt;br&gt;   &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;new&lt;/span&gt; Person { MyName=&lt;span style="font-family:Courier New;font-size:11px;font-weight:normal;"&gt;"Panos"&lt;/span&gt; }&lt;br&gt;};&lt;br&gt;&lt;br&gt;&lt;span style="color:Green;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;//query&lt;/span&gt;&lt;br&gt;IEnumerable&amp;lt;Person&amp;gt; queryResult &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; people.Where... κτλ.κτλ.&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;Γιατί στην δήλωση του query δεν λέμε...&lt;br&gt;&lt;br&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="margin:0px;padding:2px;font-family:courier new;font-size:11px;color:gray;"&gt;1&lt;br&gt;2&lt;br&gt; &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;&lt;span style="color:Green;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;//query&lt;/span&gt;&lt;br&gt;List&amp;lt;Person&amp;gt; queryResult &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; people.Where... κτλ.κτλ.&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item><item><title>Απ: Απορία για Enumerator</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35177.aspx</link><pubDate>Thu, 20 Sep 2007 18:00:54 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35177</guid><dc:creator>KelMan</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35177.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=35177</wfw:commentRss><description>&lt;P&gt;To IEnumerator δεν σου χρησιμεύει όταν δουλεύεις με generic collections.&lt;/P&gt;
&lt;P&gt;Με το IEnumerator μπορείς να κάνεις κάτι σαν το εξής:&lt;/P&gt;
&lt;BLOCKQUOTE dir=ltr style="MARGIN-RIGHT:0px;"&gt;
&lt;P&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:black;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;Dim&lt;/SPAN&gt; peopleArray() &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;As&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;String&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; {&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"John"&lt;/SPAN&gt;, &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"Jim"&lt;/SPAN&gt;, &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:#666666;FONT-FAMILY:Courier New;BACKGROUND-COLOR:#e4e4e4;"&gt;"Sue"&lt;/SPAN&gt;}&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;Dim&lt;/SPAN&gt; iEnum &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;As&lt;/SPAN&gt; IEnumerator &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:red;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;=&lt;/SPAN&gt; peopleArray.GetEnumerator()&lt;BR&gt;&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;Do&lt;/SPAN&gt; &lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;While&lt;/SPAN&gt; iEnum.MoveNext&lt;BR&gt;Console.WriteLine(iEnum.Current.ToString)&lt;BR&gt;&lt;SPAN style="FONT-WEIGHT:normal;FONT-SIZE:11px;COLOR:blue;FONT-FAMILY:Courier New;BACKGROUND-COLOR:transparent;"&gt;Loop&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;
&lt;P&gt;Ρίξε μια ματιά εδώ: &lt;A href="http://msdn2.microsoft.com/en-us/library/system.collections.ienumerator.aspx"&gt;http://msdn2.microsoft.com/en-us/library/system.collections.ienumerator.aspx&lt;/A&gt;&lt;/P&gt;
&lt;P&gt;Όπως λέει και το άρθρο, με το For Each όλα γίνονται απλούστερα...&lt;/P&gt;</description></item><item><title>Απ: Απορία για Enumerator</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35175.aspx</link><pubDate>Thu, 20 Sep 2007 17:55:57 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35175</guid><dc:creator>anjelinio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35175.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=35175</wfw:commentRss><description>... "απο κάτω", ήδη χρησιμοποιείς αυτά τα interfaces στον κώδικά σου. Ο compiler θα μετατρέψει το for each σου σε μια κλήση στο .GetEnumerator(). Απλώς, δεν το βλέπεις εσύ ποτέ γιατί είναι "syntactic sugar" το foreach.&lt;br&gt;</description></item><item><title>Απορία για Enumerator</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/35171.aspx</link><pubDate>Thu, 20 Sep 2007 17:02:05 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:35171</guid><dc:creator>DeClen</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/35171.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=14&amp;PostID=35171</wfw:commentRss><description>Παιδιά χαίρετε,&lt;br&gt;&lt;br&gt;Προσπαθώντας να κατανοήσω λίγο καλύτερα την χρησιμότητα των Generics έπεσα πάνω στην ένvοια του Enumerator (και κατ' επέκταση στα interfaces ΙΕnumerator και IEnumerable). Ομολογώ ότι με μπέρδεψε λίγο ο τρόπος που τα χρησιμοποιούμε.&lt;br&gt;&lt;br&gt;Ας πάρουμε για παράδειγμα κάτι που έχω στο μυαλό μου...&lt;br&gt;&lt;br&gt;Έστω ότι έχουμε ένα businness object&amp;nbsp; με την ονομασία &lt;b&gt;Products&lt;/b&gt;. Μια λίστα για αυτό το αντικείμενο δημιουργείται ώς εξής&lt;br&gt;&lt;br&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="margin:0px;padding:2px;font-family:courier new;font-size:11px;color:gray;"&gt;1&lt;br&gt;2&lt;br&gt;3&lt;br&gt;4&lt;br&gt;5&lt;br&gt; &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&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;public&lt;/span&gt; &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;class&lt;/span&gt; ProductsList: List&amp;lt;Products&amp;gt;&lt;br&gt;{&lt;br&gt;&amp;nbsp;&amp;nbsp;    &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;public&lt;/span&gt; ProductsList()&lt;br&gt;&amp;nbsp;&amp;nbsp;    {} &lt;span style="color:Green;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;//constructor&lt;/span&gt;&lt;br&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;Υποθέτουμε ότι υπάρχει και κάποια συνάρτηση που "γεμίζει" αυτή τη λίστα με αντικείμενα. Διάβασα ότι τα παραπάνω interfaces χρησιμοποιούνται για να κάνουμε iteration στις λίστες. Στην παραπάνω λίστα μπορούμε να κάνουμε το εξής:&lt;br&gt;&lt;br&gt;&lt;table border="0" cellpadding="0" cellspacing="0" width="100%"&gt;&lt;tr style="vertical-align:top;line-height:normal;"&gt;&lt;td style="width:40px;text-align:right;"&gt;&lt;pre style="margin:0px;padding:2px;font-family:courier new;font-size:11px;color:gray;"&gt;1&lt;br&gt;2&lt;br&gt;3&lt;br&gt;4&lt;br&gt;5&lt;br&gt;6&lt;br&gt; &lt;/pre&gt;&lt;/td&gt;&lt;td&gt;&lt;pre style="margin:0px;padding:2px 2px 2px 8px;"&gt;&lt;span style="color:Black;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;ProductsList myList &lt;span style="color:Red;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;=&lt;/span&gt; FillThisList();&lt;br&gt;&lt;br&gt;Foreach(Products myProduct &lt;span style="color:Blue;background-color:transparent;font-family:Courier New;font-size:11px;font-weight:normal;"&gt;in&lt;/span&gt; myList)&lt;br&gt;{&lt;br&gt;        UseSomehow(myProduct);&lt;br&gt;}&lt;/span&gt;&lt;/pre&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;br&gt;Έχει νόημα να χρησιμοποιήσουμε κάποιο από τα IEnumerator και IEnumerable interfaces στο παραπάνω παράδειγμα;&lt;br&gt;&lt;br&gt;Γενικότερα μια μικρή βοήθεια θα ήταν πολύτιμη.&lt;br&gt;&lt;br&gt;&lt;br&gt;&lt;br&gt;</description></item></channel></rss>