Σήμερα έγραψα ένα πρόγραμμα κονσόλας σε C# που διαβάζει δεδομένα από μια βάση δεδομένων και τα εμφανίζει. Μετά την εκτέλεση, η οθόνη αναβοσβήνει και το πρόγραμμα εξέρχεται και τα δεδομένα που επιστρέφονται από το πρόγραμμα δεν είναι καθόλου ορατά. Πώς να διακόψετε το πρόγραμμα μετά την ανάγνωση των δεδομένων; Μόλις πρόσθεσα μια πρόταση στο τέλος:
Κονσόλα.Read();
Τώρα το πρόγραμμα έχει ανασταλεί. Αλλά όταν θέλετε να βγείτε από το πρόγραμμα, πρέπει να πατήσετε το κουμπί enter. Αντί για αυθαίρετα κλειδιά, πώς μπορούμε να επιτύχουμε το αποτέλεσμα στα κοινά μας προγράμματα κονσόλας; Νόμιζα ότι ήταν Console.Read(); Η μέθοδος είναι εντάξει, αλλά το αποτέλεσμα εξακολουθεί να μην είναι καλό. Έψαξα στο Baidu αλλά απέτυχα, αλλά δεν περίμενα να βρω την απάντηση σε μια τόσο απλή ερώτηση (^_^ ίσως όλοι είναι κύριοι και δεν μπορούν να αντιμετωπίσουν τέτοιου είδους προβλήματα). Μπορώ να το λύσω μόνο μόνος μου, προσπάθησα πολλές φορές με τις μεθόδους Read() και ReadLine() και τελικά διαπίστωσα ότι η Κονσόλα έχει μια μέθοδο ReadKey() και η περιγραφή του εγγράφου είναι: "Πατήστε ένα πλήκτρο χαρακτήρα ή λειτουργίας από τον χρήστη" και υπάρχει υπερφόρτωση: το ένα είναι χωρίς παραμέτρους και το πατημένο πλήκτρο εμφανίζεται στο παράθυρο της κονσόλας. Μια άλλη φόρμα έχει μια τομή παραμέτρων bool, η οποία καθορίζει εάν τα πατημένα πλήκτρα εμφανίζονται στο παράθυρο της κονσόλας, true σημαίνει ότι τα πατημένα πλήκτρα δεν εμφανίζονται και αντίστροφα.
Console.Write("Πατήστε οποιοδήποτε πλήκτρο για έξοδο..."); Console.ReadKey(αληθές);
Εκτέλεση μεταγλώττισης .............. Ok! Τελικά το έκανε, γράψτε το, ελπίζοντας να βοηθήσετε φίλους που έχουν το ίδιο πρόβλημα. |