Καλώς ορίσατε στο dotNETZone.gr - Σύνδεση | Εγγραφή | Βοήθεια
σε

 

Αρχική σελίδα Ιστολόγια Συζητήσεις Εκθέσεις Φωτογραφιών Αρχειοθήκες

Διακόπτωντας την εκτέλεση ενός sub

Îåêßíçóå áðü ôï ìÝëïò epp1123. Τελευταία δημοσίευση από το μέλος Mitsaras στις 05-06-2008, 16:24. Υπάρχουν 9 απαντήσεις.
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  05-06-2008, 10:32 42661

    Διακόπτωντας την εκτέλεση ενός sub

    Καλημέρα. Πως διακόπτω την εκτέλεση ενός sub; Συγκεκριμένα, θέλω μέσα στο sub να κάνω  έναν έλεγχο, και αν αυτός ο έλεγχος να μην ικανοποιείται τότε να μην εκτελείται το υπόλοιπο sub.
  •  05-06-2008, 10:44 42662 σε απάντηση της 42661

    Απ: Διακόπτωντας την εκτέλεση ενός sub

  •  05-06-2008, 11:24 42665 σε απάντηση της 42661

    Απ: Διακόπτωντας την εκτέλεση ενός sub

    το return μου αρέσει περισσότερο

    Manos
  •  05-06-2008, 11:31 42666 σε απάντηση της 42665

    Απ: Διακόπτωντας την εκτέλεση ενός sub

    Αφού το sub δε γυρίζει τίποτα, τότε ποιος ο σκοπός της χρήσης του return, γιατί για να λέγεται return λογικά θα επιστρέφει κάτιStick out tongue
  •  05-06-2008, 12:22 42671 σε απάντηση της 42666

    Απ: Διακόπτωντας την εκτέλεση ενός sub

    Ένα επιχείρημα υπέρ του Return, είναι η ομοιομορφία με άλλα methods τα οποία επιστρέφουν τιμή (εκτός φυσικά αν χρησιμοποιείς τον παλιό VB6 και κάτω τρόπο για να επιστρέψεις μια τιμή από ένα method, κάτι που δεν ξέρω αν υποστηρίζεται από την VB.Net). Επίσης, είναι και ο πιο συνηθισμένος τρόπος στις περισσότερες γλώσσες προγραμματισμού.
    Καθώς η VB.net κάνει διάκριση μεταξύ Subs & Functions, η χρήση του Return είναι πιο universal σε σχέση με αυτήν του Exit Sub/Function.

    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  05-06-2008, 12:38 42672 σε απάντηση της 42671

    Απ: Διακόπτωντας την εκτέλεση ενός sub

    Σύμφωνα με το msdn όπως βλέπω, λέει ότι :

    "In a Sub or Set procedure, the Return statement is equivalent to an Exit Sub or Exit Property statement, and expression must not be supplied."

    Σας δίνω και το link

    http://msdn.microsoft.com/en-us/library/2e34641s(VS.80).aspx
  •  05-06-2008, 12:50 42673 σε απάντηση της 42672

    Απ: Διακόπτωντας την εκτέλεση ενός sub

    Ναι βρε αυτό λέμε όταν γράφεις σε sub  γράφεις σκέτο return και όταν γράφεις σε function είναι return sth

    Εγώ το βρίσκω παντως το πιο elegant τρόπο και θεωρώ plus ότι η vb.net το υποστηρίζει Yes

    Manos
  •  05-06-2008, 13:13 42675 σε απάντηση της 42673

    Απ: Διακόπτωντας την εκτέλεση ενός sub

    Ο καθένας με τα γούστα του! Εγώ όταν βλέπω return νομίζω ότι είναι function. Είναι ένας τρόπος να ξεχωρίζω που βρίσκομαι!
    View Παναγιώτης Χαραλάμπους's profile on LinkedIn
    Coding at Mediterranean Acoustics
  •  05-06-2008, 13:47 42678 σε απάντηση της 42675

    Απ: Διακόπτωντας την εκτέλεση ενός sub

    Δεν είναι θέμα γούστου. Καταρχήν, αν ή μέθοδος σου είναι τόσο μεγάλη που χρειάζεσαι το Exit Sub για να ξέρεις ότι είσαι σε Sub, έχεις σημαντικό πρόβλημα. Επιπλέον, ο διαχωρισμός sub/function και η ανάγκη για το Exit Sub είναι απομεινάρι της VB6 καθώς τέτοιος διαχωρισμός δεν υπάρχει στο .NET. Και τα subs είναι απλές μέθοδοι με το void return type. Επίσης, είναι κακό να υπάρχουν διαφορετικοί τρόποι για να κάνουν ακριβώς το ίδιο πράγμα, καθώς μπορούν να μπερδέψουν όποιον πρέπει να χρησιμοποιήσει τον κώδικα στο μέλλον, ακόμα κι εσένα μετά από μερικούς μήνες.
    Τέλος, αν χρειαστεί να αλλάξεις το return type της μεθόδου και να επιστρέφεις κάτι ενώ πριν δεν επέστρεφες τίποτε, θα πρέπει να κάνεις πολύ περισσότερες αλλαγές αν έχεις χρησιμοποιήσει Exit Sub.

    Γενικά, τα Exit Sub/Function/Property statements πιστεύω ότι είναι "βαλίτσες" που καλό θα ήταν να είχαν μείνει στην VB6 αν και καταλαβαίνω ότι η χρήση τους κάνει ευκολότερο το migration παλιού κώδικα από την VB6 στο .NET.


    Παναγιώτης Καναβός, Freelancer
    Twitter: http://www.twitter.com/pkanavos
  •  05-06-2008, 16:24 42699 σε απάντηση της 42678

    Απ: Διακόπτωντας την εκτέλεση ενός sub

    Κατατοπιστικότατος όπως πάντα, και έλυσες μια απορία μου, σχετικά με το αν η ύπαρξη του Sub/End Sub ήταν κάτι παραπάνω από compatibility μέτρο, γιατί υπέθετα ότι δεν μπορούσες να έχεις Function με void (nothing?) return τύπο στην VB.Net

    Μην αφήνετε τα media να σας "ταΐζουν"!
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems