Στο C #, μια συνάρτηση είναι ένας τρόπος συσκευασίας κώδικα που κάνει κάτι και στη συνέχεια επιστρέφει την τιμή. Σε αντίθεση με το C, C ++ και ορισμένες άλλες γλώσσες, λειτουργίες δεν υπάρχουν από μόνα τους. Είναι μέρος ενός αντικειμενοστραφής προσέγγιση στον προγραμματισμό.
Ένα πρόγραμμα για τη διαχείριση υπολογιστικών φύλλων μπορεί να περιλαμβάνει μια συνάρτηση sum () ως μέρος ενός αντικειμένου, για παράδειγμα.
Στο C #, μια συνάρτηση μπορεί να ονομαστεί συνάρτηση μέλους - είναι μέλος μιας κλάσης - αλλά η ορολογία αυτή παραμένει από την C ++. Το συνηθισμένο όνομα γι 'αυτό είναι μια μέθοδος.
Η μέθοδος του παραθύρου
Υπάρχουν δύο τύποι μεθόδων: μέθοδος στιγμής και στατική μέθοδος. Αυτή η εισαγωγή καλύπτει τη μέθοδο instance.
Το παρακάτω παράδειγμα ορίζει μια απλή κλάση και το καλεί Δοκιμή. Αυτό το παράδειγμα είναι ένα απλό πρόγραμμα κονσόλας, έτσι επιτρέπεται. Συνήθως, η πρώτη κλάση που ορίζεται στο αρχείο C # πρέπει να είναι η κλάση φόρμας.
Είναι πιθανό να έχουμε μια κενή τάξη όπως αυτή δοκιμή τάξης {}
, αλλά δεν είναι χρήσιμο. Αν και φαίνεται κενό, όπως όλες οι κλάσεις C # κληρονομεί από το αντικείμενο που το περιέχει και περιλαμβάνει μια προεπιλογή κατασκευαστής στο κύριο πρόγραμμα.var t = νέα δοκιμή ();
Αυτός ο κώδικας λειτουργεί, αλλά δεν θα κάνει τίποτα όταν τρέχει εκτός από τη δημιουργία μιας παρουσίας t της κενής δοκιμαστικής κλάσης. Ο παρακάτω κώδικας προσθέτει μια συνάρτηση, μια μέθοδο που εξάγει τη λέξη "Γεια σας".
χρησιμοποιώντας το σύστημα.
όνομα χώρου funcex1
{
δοκιμής κατηγορίας
{
δημόσιο κενό SayHello ()
{
Κονσόλα. WriteLine ("Γεια σας");
}
}
class
{
static κενό Κύριο (συμβολοσειρά [] args)
{
var t = νέα δοκιμή ();
t. Πες γεια() ;
Κονσόλα. ReadKey ();
}
}
}
Αυτό το παράδειγμα κώδικα περιλαμβάνει Κονσόλα. ReadKey (), οπότε όταν εκτελείται, εμφανίζει το παράθυρο της κονσόλας και περιμένει μια καταχώρηση κλειδιού όπως Enter, Space ή Return (όχι τα πλήκτρα αλλαγής, Alt ή Ctrl). Χωρίς αυτό, θα ανοίξει το παράθυρο της κονσόλας, θα εξάγει το "Hello" και στη συνέχεια θα κλείσει όλα με την αναλαμπή ενός ματιού.
Η λειτουργία Πες γεια είναι περίπου τόσο απλή μια λειτουργία που μπορείτε να έχετε. Είναι μια δημόσια λειτουργία, που σημαίνει ότι η λειτουργία είναι ορατή εκτός της κατηγορίας.
Αν αφαιρέσετε τη λέξη δημόσιο και προσπαθήστε να συντάσσω ο κώδικας, αποτυγχάνει με ένα σφάλμα σύνταξης "funcex1.test. Το SayHello () είναι απροσπέλαστο λόγω του επιπέδου προστασίας του. "Αν προσθέσετε τη λέξη" ιδιωτική "όπου η λέξη δημόσια ήταν και επανασυνταχθεί, λαμβάνετε το ίδιο σφάλμα κατάτμησης. Απλώς το αλλάξτε πίσω στο "δημόσιο".
Η λέξη κενός στη συνάρτηση σημαίνει ότι η συνάρτηση δεν επιστρέφει καμία τιμή.
Τυπικά Χαρακτηριστικά Ορισμού Λειτουργίας
- Επίπεδο πρόσβασης: δημόσιο, ιδιωτικό και άλλα
- Τιμή επιστροφής>: άκυρη ή οποιουδήποτε τύπου, όπως int
- Όνομα μεθόδου: SayHello
- Οποιεσδήποτε παράμετροι μεθόδου: καμία για τώρα. Αυτά ορίζονται στις παρενθέσεις () μετά το όνομα της μεθόδου
Ο κώδικας για τον ορισμό μιας άλλης συνάρτησης, MyAge (), είναι:
public int MyAge ()
{
επιστροφή 53;
}
Προσθέστε αυτό το δικαίωμα μετά το Πες γεια() στο πρώτο παράδειγμα και προσθέστε αυτές τις δύο γραμμές πριν Κονσόλα. ReadKey ().
var var = t. Η ηλικία μου();
Κονσόλα. WriteLine ("ο David είναι {0} ετών", ηλικία);
Η εκτέλεση του προγράμματος εξάγει τώρα το εξής:
Γειά σου
Ο Ντέιβιντ είναι 53 ετών,
ο var var = t. Η ηλικία μου(); κλήση στη μέθοδο επέστρεψε την τιμή 53. Δεν είναι η πιο χρήσιμη λειτουργία. Ένα πιο χρήσιμο παράδειγμα είναι η λειτουργία Αθροίσματος υπολογιστικού φύλλου με μια σειρά από ints, ο δείκτης έναρξης και ο αριθμός των τιμών στο άθροισμα.
Αυτή είναι η λειτουργία:
το δημόσιο άθροισμα των επιπέδων (int [] τιμές, int startindex, int endindex)
{
var ολ = 0;
για (var index = startindex; ευρετήριο <= endindex; δείκτης ++)
{
σύνολο + = τιμές [ευρετήριο];
}
Συνολική απόδοση.
}
Εδώ είναι τρεις περιπτώσεις χρήσης. Αυτός είναι ο κώδικας που προσθέτετε στο Main () και καλέστε για να δοκιμάσετε τη λειτουργία Sum.
τιμές var = νέο int [10] {1, 2, 3, 4, 5, 6, 7, 8, 9, 10}.
Κονσόλα. WriteLine (t. Άθροισμα (τιμές, 0,2)). // Πρέπει να είναι 6
Κονσόλα. WriteLine (t. Άθροισμα (τιμές, 0,9)) · // πρέπει να είναι 55
Κονσόλα. WriteLine (t. Άθροισμα (τιμές, 9,9)). // πρέπει να είναι 10 δεδομένου ότι η 9η τιμή είναι 10
Η Για βρόχος προσθέτει τις τιμές στην περιοχή startindex προς endindex, έτσι ώστε για startindex = 0 και endindex = 2, αυτό είναι το άθροισμα 1 + 2 + 3 = 6. Ενώ για 9,9, προσθέτει μόνο τις τιμές [9] = 10.
Εντός της συνάρτησης, το τοπικό μεταβλητό σύνολο αρχικοποιείται στο 0 και έπειτα έχει προστεθεί τα σχετικά τμήματα των τιμών συστοιχιών.