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

 

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

Πάντα true!!

Îåêßíçóå áðü ôï ìÝëïò tommaσ. Τελευταία δημοσίευση από το μέλος Παναγιώτης Καναβός στις 08-10-2006, 20:16. Υπάρχουν 17 απαντήσεις.
Σελίδα 1 από 2 (18 εγγραφές)   1 2 >
Ταξινόμηση Δημοσιεύσεων: Προηγούμενο Επόμενο
  •  11-02-2006, 17:27 9545

    Indifferent [:|] Πάντα true!!

    Συνημμένα: Copy.zip

    public Boolean existpath(string path1)

            {

                if (!Directory.Exists(path1) == true)

                {

                    return true;

                }

                else

                {

                    return false;

                }

             

            }

     

        Boolean result =   existpath("c:\file");

              MessageBox.Show(result.ToString());

     

                Παντα το αποτέλεσμα είναι true!!!!

    Τη έχω κανει λάθος?

  •  11-02-2006, 17:56 9546 σε απάντηση της 9545

    Απ: Πάντα true!!

    Αφού το Directory.Exists σου επιστρέφει true/false, μπορείς για να φτιάξεις το function, απλά να πεις

    public Boolean existpath(string path1)

       return Directory.Exists(path1);
    }


    Ωστόσο, κάτι τέτοιο θα είναι πλεονασμός, αφού το existpath function δεν κάνει τίποτα παραπάνω για δικαιολογείται η χρήση του, πέρα από το να καλεί τη μέθοδο Exists του Directory object.
    Vir prudens non contra ventum mingit
  •  11-02-2006, 17:57 9547 σε απάντηση της 9545

    Απ: Πάντα true!!

    Αυτό:
    if (!Directory.Exists(path1) == true)

    είναι περιττό. Ουσιαστικά, αυτό που κάνεις είναι να πάρεις το αντίθετο του Director.Exists, και να ελέγχεις αν είναι true.

    Θα μπορούσες να συμπτύξεις το όλο function, ως εξής:

    public Boolean PathExists(string path) {
    return Directory.Exists(path);
    }

    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  11-02-2006, 18:04 9548 σε απάντηση της 9546

    Απ: Πάντα true!!

    ευχαριστώ και τους 2 .Η πλάκα ειναι οτι απαντίσατε ταυτοχρόνος(ενα δευτερολεπτο πιο γρήγορος ο KelManStick out tongue [:P]!!!.

    ΚΑΙ TΩΡΑ μου το βγάζει ολο true!!!!

  •  11-02-2006, 19:09 9550 σε απάντηση της 9545

    Απ: Πάντα true!!

    Για να σου βγάζει πάντα true πάει να πει ότι υπάρχει αυτό το directory...
    Ακόμα κι αν το διαγράψεις σου επιστρέφει true;
    Κάνε debug και πρόσθεσε ένα breakpoint στο επίμαχο statement. Όταν έρθει η ώρα να εκτελεστεί, έλεγξε προηγουμένως με τον windows explorer άν όντως υπάρχει το directory ή όχι...
    Vir prudens non contra ventum mingit
  •  11-02-2006, 19:11 9551 σε απάντηση της 9548

    Απ: Πάντα true!!

    Τα έκανα ολλα αυτα!!!
    και όμως βγάζει true!!!
  •  11-02-2006, 19:29 9552 σε απάντηση της 9551

    Απ: Πάντα true!!

    Δηλαδή, ό,τι directory και να βάλεις ως όρισμα, αυτό σου επιστρέφει true;
    Αν βάλεις "C:\TrexaGyreve" θα σου επιστρέψει true;
    Αν αυτή η συμπεριφόρά ισχύει μόνο για το "c:\file", αυτό σημαίνει ότι τη στιγμή που εκτελείται το statement, υπάρχει αυτό το directory...
    Vir prudens non contra ventum mingit
  •  11-02-2006, 19:39 9553 σε απάντηση της 9552

    Απ: Πάντα true!!

    1) συνεχίζει να το κανει και με αλλους φακελους που υπαρχουν ή δεν υπάρχουν
    2)με τον δικό μου τρόπο βγάζει ολο true με τον δικό σου ολο falseStick out tongue [:P]
  •  11-02-2006, 19:57 9554 σε απάντηση της 9552

    Απ: Πάντα true!!

    Θέλεις να ανεβάσεις όλο σου το project να δούμε τι γίνεται;
    Vir prudens non contra ventum mingit
  •  11-02-2006, 20:00 9555 σε απάντηση της 9553

    Απ: Πάντα true!!


    πως το ανεβάζουμε?

    K. το βρήκα. το κουμπη πάνω πάνω ειναι αυτό που μου δημιουργεί το πρόβλημα το έφτιαξα έτσι ωστε να είναι εμφανές

  •  11-02-2006, 21:49 9559 σε απάντηση της 9545

    Απ: Πάντα true!!

    Σε εσάς πέζει κανονικά?
  •  12-02-2006, 04:44 9564 σε απάντηση της 9545

    Απ: Πάντα true!!

    Θωμά,
    στον αρχικό σου κώδικα λες:

    if (!Directory.Exists(path1) == true)

    Ας δούμε λίγο τι επιστρεφει αυτο σε κάθε περίπτωση.

    Καταρχήν, το Directory.Exists(path1) επιστρέφει:
    - True αν το path1 υπάρχει
    - False αν το path1 δεν υπάρχει.

    Το !Directory.Exists(path1) επιστρέφει ανάποδα:
    - False αν το path1 υπάρχει
    - True αν το path1 δεν υπάρχει.

    Σημείωση, οτι το "!" μπροστά δεν αντιστρέφει ΟΛΗ τη συνθήκη, αλλα μόνο το Directory.Exists (path1)

    Αρα μπορούμε να αντικαταστήσουμε ολόκληρη τη "φραση" "!Directory.Exists(path1) με True ή False σύμφωνα με το παραπάνω.

    Ετσι, έχεις τις εξής περιπτώσεις:
    Στην περίπτωση που το path1 υπάρχει το IF σου γίνεται:
    If (false==true) που φυσικά κάνει false

    Στην περίπτωση που το path1 ΔΕΝ υπάρχει, το IF σου γίνεται:
    If (true==true) που φυσικά κάνει true.

    Στον παρακάτω κώδικα επιστρέφεις true αν είναι true η συνθήκη, false αν είναι false. Ολο αυτό φυσικά είναι ένας τετραπλός πλεονασμός, (το if, η αντιστροφή, η σύγκριση και το ίδιο το function) αλλά παρ'όλα αυτά το αποτέλεσμα που παίρνεις είναι πάντα:

    TRUE αν ΔΕΝ υπάρχει το path1
    FALSE αν ΥΠΑΡΧΕΙ to path1

    Δηλαδή τα ανάποδα από ο,τι θα ήθελες.

    Τωρα γιατί σου βγάζει πάντα true; Η μόνη εξήγηση που μπορώ να δώσω είναι οτι δεν γράφεις σωστά το path1 (εννοώ την τιμή που εκχωρείς στη μεταβλητή path1) με αποτέλεσμα ΠΟΤΕ να μην βρίσκει οτι υπάρχει και σύμφωνα με τα παραπάνω να σου γυρνάει πάντα true.



    Σωτήρης Φιλιππίδης

    DotSee Web Services

    View Sotiris Filippidis's profile on LinkedIn

    DotNetNuke them!
  •  12-02-2006, 04:59 9565 σε απάντηση της 9545

    Απ: Πάντα true!!

    Τελικά δεν είμαι ο μόνος ξενύχτης σε αυτό το site.. ακου 4:44.. Stick out tongue [:P]
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
  •  12-02-2006, 14:45 9577 σε απάντηση της 9545

    Απ: Πάντα true!!

    Μην ανησυχείς, υπάρχουμε κι άλλοι, ας είναι καλά το Σ/Κ!
    Μην αφήνετε τα media να σας "ταΐζουν"!
  •  12-02-2006, 16:11 9581 σε απάντηση της 9545

    Απ: Πάντα true!!

    Hehehe!Indeed.. Vampires united!
    Παναγιώτης Κεφαλίδης

    "Για να επιτύχεις, θα πρέπει το πάθος σου για την επιτυχία να είναι μεγαλύτερο απο τον φόβο σου για την αποτυχία"

    Οι απαντήσεις παρέχονται για συγκεκριμένες ερωτήσεις και χωρίς καμιά εγγύηση. Παρακαλώ διαβάστε τους όρους χρήσης.
Σελίδα 1 από 2 (18 εγγραφές)   1 2 >
Προβολή Τροφοδοσίας RSS με μορφή XML
Με χρήση του Community Server (Commercial Edition), από την Telligent Systems