<?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>WinForms</title><link>https://www.dotnetzone.gr:443/cs/forums/12/ShowForum.aspx</link><description>Θέματα για rich client / windows εφαρμογές, σε οποιαδήποτε γλώσσα (VB.NET, C#, managed C++, κ.α.)</description><dc:language>el</dc:language><generator>CommunityServer 2.1 SP3 (Build: 20423.1)</generator><item><title>Απ: Συνδεδεμένες Λίστες και C#</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/5116.aspx</link><pubDate>Tue, 06 Sep 2005 19:43:04 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:5116</guid><dc:creator>rousso</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/5116.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=5116</wfw:commentRss><description>Ευχαριστώ πολύ Παναγιώτη. Η αλήθεια είναι ότι δεν ήξερα τι λέει η VB.NET στο language reference μια και δεν έχω ασχοληθεί με VB.NET programming και για επιμορφωτικούς και μόνο λόγους θα κάτσω να διαβάσω τα σχετικά sections με την ευκαιρία.&lt;br&gt;&lt;br&gt;Όμως το θέμα μας δεν παύει να είναι σε C# οπότε και έλαβα κι εγώ το ερέθισμα της διευκρινιστικής απάντησης..&lt;br&gt;&lt;br&gt;Υποθέτω ότι δεν ονομάστηκαν built-in types γιατί απλά είναι άλλο πράγμα τα built-in types και άλλο πράγμα (subset του πρώτου) τα primitive types...&lt;br&gt;&lt;br&gt;&lt;br&gt;Σε κάθε περίπτωση το θέμα των τύπων είναι θέμα της γλώσσας (compiller). Ο κάθε compiller αντιστοιχεί τους τύπους δεδομένων της γλώσσας σε εκείνους του CLI. Οπότε είναι λογικό να μπορούν να υπάρχουν διαφορετκές προσεγγίσεις σε κάθε γλώσσα.&lt;br&gt;&lt;br&gt;with all due respect&lt;br&gt;rousso</description></item><item><title>Απ: Συνδεδεμένες Λίστες και C#</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/5112.aspx</link><pubDate>Tue, 06 Sep 2005 19:18:54 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:5112</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/5112.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=5112</wfw:commentRss><description>&lt;P&gt;Μια και το γυρίσαμε στη γλωσσολογία ...&lt;/P&gt;
&lt;P&gt;Η VB.NET χρησιμοποιεί την έννοια primitive types (παρ. 7.3 του VB.NET Language reference) για να δώσει ονόματα στους built-in τύπους. &lt;EM&gt;"The primitive types are identified through keywords, which are aliases for predefined types in the System namespace".&lt;/EM&gt; Η C# δεν κάνει τέτοιο διαχωρισμό. Σαν primitive type η VB.NET ορίζει και το Boolean και το String οπότε η έννοια primitive δεν έχει σχέση με value/reference types, ή με τα primitives της Java. &lt;/P&gt;
&lt;P&gt;Θα μου πεις, καλά, γιατί δεν τους ονομάζανε built-in types? Μάλλον για να μας κάνουν τη ζωή ενδιαφέρουσα.&lt;/P&gt;</description></item><item><title>Απ: Συνδεδεμένες Λίστες και C#</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/5109.aspx</link><pubDate>Tue, 06 Sep 2005 19:04:47 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:5109</guid><dc:creator>pontifikas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/5109.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=5109</wfw:commentRss><description>Παιδιά ευχαριστώ πολύ για την βοήθεια και τις γνώσεις&lt;img src="/cs/emoticons/emotion-2.gif" alt="Big Smile [:D]" /&gt;.Όσο γερνάτε μαθαίνω &lt;img src="/cs/emoticons/emotion-4.gif" alt="Stick out tongue [:P]" /&gt;</description></item><item><title>Απ: Συνδεδεμένες Λίστες και C#</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/5108.aspx</link><pubDate>Tue, 06 Sep 2005 18:58:47 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:5108</guid><dc:creator>rousso</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/5108.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=5108</wfw:commentRss><description>&lt;P&gt;&lt;BLOCKQUOTE&gt;&lt;table width="85%"&gt;&lt;tr&gt;&lt;td class="txt4"&gt;&lt;img src="/cs/Themes/default/images/icon-quote.gif"&gt;&amp;nbsp;&lt;strong&gt;anjelinio wrote:&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td class="quoteTable"&gt;&lt;table width="100%"&gt;&lt;tr&gt;&lt;td width="100%" valign="top" class="txt4"&gt;Αν δεν κάνω λάθος - και πιστεύω οτι δεν κάνω :) - όλα τα non-primitive types περνάνε by reference στο ArrayList ... οπότε μπορείς να μην ανησυχείς για pointers κτλ κτλ &lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/table&gt;&lt;/BLOCKQUOTE&gt;&lt;/P&gt;
&lt;P&gt;Με όλο το σεβασμό, παρακαλώ επιτρέψτε μου μια διόρθωση (αν και το παραπάνω νόημα είναι πάνω κάτω σωστό)...&lt;/P&gt;
&lt;P&gt;Δεν είναι (ή λέγονται) non-primitive types...&lt;/P&gt;
&lt;P&gt;Υπάρχουν δύο είδη τύπων δεδομένων στην C#: value types και reference types... Τα reference types είναι ότι προκύπτει από classes, interfaces και delegates + ότι είναι object ή string... Value types είναι όλοι οι τύποι αριθμητικών (int, byte, char,&amp;nbsp;float κλπ), τα enums, τα bool και ότι είναι struct... Για λεπτομέρειες δες: &lt;A href="http://msdn.microsoft.com/library/en-us/csref/html/vcrefReferenceTypes.asp" target=_blank&gt;εδώ&lt;/A&gt;, &lt;A href="http://msdn.microsoft.com/library/en-us/csref/html/vcrefValueTypes.asp" target=_blank&gt;εδώ&lt;/A&gt; και &lt;A href="http://msdn.microsoft.com/library/en-us/csref/html/vclrfBoxingUnboxingPG.asp" target=_blank&gt;εδώ&lt;/A&gt;...&lt;/P&gt;
&lt;P&gt;Τα reference types λοιπόν αποθηκεύουν references στα actual data...&lt;/P&gt;
&lt;P&gt;Οπότε pontifikas δεν υπάρχει λόγος να "φοβάσαι" την μη ύπαρξη pointers στην C#. Τα reference types είναι κάτι σαν managed pointers...&lt;BR&gt;(Παρένθεση: υπάρχουν και pointer types όπως ξέρεις αλλά μόνο αν χρησιμοποιήσεις το unsafe keyword).&lt;/P&gt;
&lt;P&gt;Στο θέμα μας τώρα...&lt;/P&gt;
&lt;P&gt;Φτιάξε το όπως θέλεις. &lt;/P&gt;
&lt;P&gt;Εγώ θα έφτιαχνα ένα collection χρησιμοποιόντας το &lt;A href="http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfsystemcollectionsspecializednameobjectcollectionbaseclasstopic.asp" target=_blank&gt;System.Collections.Specialized.NameObjectCollactionBase&lt;/A&gt;.&lt;/P&gt;
&lt;P&gt;φιλικά&lt;BR&gt;rousso&lt;/P&gt;</description></item><item><title>Απ: Συνδεδεμένες Λίστες και C#</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/5106.aspx</link><pubDate>Tue, 06 Sep 2005 18:46:01 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:5106</guid><dc:creator>Παναγιώτης Καναβός</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/5106.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=5106</wfw:commentRss><description>Ο anjelinio έχει δίκιο. Το array περιέχει οποιοδήποτε άλλο αντικείμενο σαν object reference, οπότε μπορεί να δεχθεί και άλλο array. Έτσι θα δημιουργήσεις ένα jagged array. Αν θέλεις να έχεις περισσότερες δυνατότητες, μπορείς αντί για array να χρησιμοποιήσεις κάποιο άλλο collection, hashtable, ό,τι θέλεις. Linked lists κάπου θα βρεις ψάχνοντας στο google, αν πραγματικά τα χρειάζεσαι. &lt;br&gt;&lt;br&gt;Όσον αφορά τη μνήμη, ισχύει ότι ισχύει πάντα με το garbage collection. Όταν ελευθερωθούν τα references σε ένα αντικείμενο, αυτό θα καταστραφεί. Δεν υπάρχει λόγος να ψάχνεις για pointers. Γενικά, ισχύει ό,τι και με τη Java ή τις βιβλιοθήκες garbage collection στη C++. Αν σε βοηθάει, σκέψου τα references σαν ... C++ references αντί για pointers.</description></item><item><title>Απ: Συνδεδεμένες Λίστες και C#</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/5104.aspx</link><pubDate>Tue, 06 Sep 2005 18:31:38 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:5104</guid><dc:creator>pontifikas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/5104.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=5104</wfw:commentRss><description>Ευχαριστώ πολύ. Θα το βάλω μπρός. Ελπίζω να έχεις δίκαιο.&lt;br&gt;
Και να μην έχεις..... έχουμε RAM μωρέ.....&lt;img src="/cs/emoticons/emotion-4.gif" alt="Stick out tongue [:P]" /&gt;&lt;br&gt;</description></item><item><title>Απ: Συνδεδεμένες Λίστες και C#</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/5102.aspx</link><pubDate>Tue, 06 Sep 2005 18:11:31 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:5102</guid><dc:creator>anjelinio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/5102.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=5102</wfw:commentRss><description>Συγνώμμη, άκυρο. Μέσα στο PowerCollections δεν περιέχεται τέτοιο type. Μάλλον το θυμάμαι απ'το αντίστοιχο της Java. Πάντως η ιδέα δεν είναι κακή, ούτε πιστεύω οτι θα σου δημιουργήσει προβλήματα.</description></item><item><title>Απ: Συνδεδεμένες Λίστες και C#</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/5100.aspx</link><pubDate>Tue, 06 Sep 2005 17:59:45 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:5100</guid><dc:creator>anjelinio</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/5100.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=5100</wfw:commentRss><description>Αν δεν κάνω λάθος - και πιστεύω οτι δεν κάνω :) - όλα τα non-primitive types περνάνε by reference στο ArrayList ... οπότε μπορείς να μην ανησυχείς για pointers κτλ κτλ&lt;br&gt;&lt;br&gt;Επίσης αν δεν κάνω λάθος, στο PowerCollections πακετάκι (open source), περιέχεται κι ένα collection όπου τα στοιχεία του είναι κι αυτά collections, αλλά αυτή τη στιγμή δεν θυμάμαι το link, οπότε επιφυλλάσομαι ;)&lt;br&gt;&lt;br&gt;Πολύ καλή μέρα μας</description></item><item><title>Συνδεδεμένες Λίστες και C#</title><link>https://www.dotnetzone.gr:443/cs/forums/thread/5098.aspx</link><pubDate>Tue, 06 Sep 2005 17:45:44 GMT</pubDate><guid isPermaLink="false">2622095e-976c-431a-859e-16783ec7ecd7:5098</guid><dc:creator>pontifikas</dc:creator><slash:comments>0</slash:comments><comments>https://www.dotnetzone.gr:443/cs/forums/thread/5098.aspx</comments><wfw:commentRss>https://www.dotnetzone.gr:443/cs/forums/commentrss.aspx?SectionID=12&amp;PostID=5098</wfw:commentRss><description>Θέλω να φτοιάξω κάτι σαν "Ευρετήριο" πινάκων(ArrayLists). Έναν πίνακα
πάλι δηλαδή που κάθε του στοιχείο θα είναι κάτι σαν δείκτης προς το
κατάλληλο ArrayList δεδομένων. Τα arraylists των δεδομένων μου θέλω να
δημιουργούνται και να σβήνονται δυναμικά οπότε και θα ενημερώνεται και
ο πινακας-ευρετήριο.&lt;br&gt;
&lt;br&gt;
Η πρώτη μου σκέψη ήταν μια συνδεδεμένη λίστα, αλλά η C# δεν υποστηρίζει
pointers και δεν μπορώ μέσω unsafe code Να περάσω pointer σε managed
type όπως το arraylist.&lt;br&gt;
Μπορώ φυσικά να δημιουργήσω, ας πούμε, ένα sorted List όπου θα
αποθηκεύω το κλειδί(κριτήριο ομαδοποίησης) μου και τους πίνακες των
δεδομένων μου...&lt;br&gt;
Αλλά δεν ξέρω ρε παιδιά&lt;img src="/cs/emoticons/emotion-10.gif" alt="Embarrassed [:$]" /&gt; . Δεν μου φαίνεται καλή ιδέα. Πίνακα μέσα
σε πίνακα... Μήπως διπλασιάσω τον χώρο που καταλαμβάνουν τα δεδομένα
μου φοβάμαι.&lt;br&gt;
Ή μήπως θα περάσει με αναφορά ο πίνακας?&lt;br&gt;
&lt;br&gt;
Καμοιά ιδέα?&lt;br&gt;
Ευχαριστώ.&lt;br&gt;
&lt;br&gt;</description></item></channel></rss>