Προγραμματισμός

Τρόπος χρήσης των ονομαστικών και προαιρετικών παραμέτρων στο C #

Η Microsoft εισήγαγε υποστήριξη για ονομαστικές και προαιρετικές παραμέτρους στο C # 4.0. Ενώ μια καθορισμένη παράμετρος χρησιμοποιείται για να καθορίσει ένα όρισμα με βάση το όνομα του ορίσματος και όχι τη θέση, μια προαιρετική παράμετρος μπορεί να χρησιμοποιηθεί για την παράλειψη μίας ή περισσότερων παραμέτρων στην υπογραφή της μεθόδου. Οι παράμετροι μιας μεθόδου μπορεί να είναι είτε απαιτούμενες είτε προαιρετικές, ανάλογα με το αν πρέπει ή όχι να μεταβιβάσετε μια τιμή σε αυτές τις παραμέτρους όταν καλείται η μέθοδος.

Πρέπει να σημειωθεί ότι οι ονομαστικές και προαιρετικές παράμετροι μπορούν να χρησιμοποιηθούν όχι μόνο με μεθόδους αλλά και με ευρετήρια και πληρεξούσιους. Αυτό το άρθρο περιγράφει αυτά τα δύο ισχυρά χαρακτηριστικά της γλώσσας προγραμματισμού C # και πώς μπορούμε να συνεργαστούμε μαζί τους.

Για να εργαστείτε με τα παραδείγματα κώδικα που παρέχονται σε αυτό το άρθρο, θα πρέπει να έχετε εγκαταστήσει το Visual Studio 2019 στο σύστημά σας. Εάν δεν έχετε ήδη αντίγραφο, μπορείτε να κατεβάσετε το Visual Studio 2019 εδώ.

Δημιουργήστε ένα έργο εφαρμογής κονσόλας στο Visual Studio

Πρώτα απ 'όλα, ας δημιουργήσουμε ένα έργο εφαρμογής .NET Core κονσόλας στο Visual Studio. Υποθέτοντας ότι το Visual Studio 2019 είναι εγκατεστημένο στο σύστημά σας, ακολουθήστε τα βήματα που περιγράφονται παρακάτω για να δημιουργήσετε ένα νέο έργο εφαρμογής .NET Core κονσόλας στο Visual Studio.

  1. Εκκινήστε το Visual Studio IDE.
  2. Κάντε κλικ στο "Δημιουργία νέου έργου".
  3. Στο παράθυρο "Δημιουργία νέου έργου", επιλέξτε "Εφαρμογή κονσόλας (.NET Core)" από τη λίστα των προτύπων που εμφανίζονται.
  4. Κάντε κλικ στο Επόμενο.
  5. Στο παράθυρο "Διαμόρφωση του νέου έργου" που εμφανίζεται στη συνέχεια, καθορίστε το όνομα και την τοποθεσία για το νέο έργο.
  6. Κάντε κλικ στο Δημιουργία.

Αυτό θα δημιουργήσει ένα νέο έργο εφαρμογής .NET Core κονσόλας στο Visual Studio 2019. Θα χρησιμοποιήσουμε αυτό το έργο για να εργαζόμαστε με ονομαστικές και προαιρετικές παραμέτρους στις επόμενες ενότητες αυτού του άρθρου.

Χρησιμοποιήστε τις ονομαστικές παραμέτρους στο C #

Όταν καλείτε μια μέθοδο, κατασκευαστή, ευρετήριο ή εκπρόσωπο, πρέπει να περάσετε ορίσματα για τις απαιτούμενες παραμέτρους, αλλά είστε ελεύθεροι να παραλείψετε ορίσματα για τις παραμέτρους που έχουν οριστεί ως προαιρετικές παράμετροι.

Ίσως χρειαστεί συχνά να καλέσετε μια μέθοδο που έχει πολλές παραμέτρους. Και ακόμη και όταν καλείτε μια τέτοια μέθοδο με μόνο τις απαιτούμενες παραμέτρους, μερικές φορές είναι εξαιρετικά δύσκολο να κατανοήσετε ποια επιχειρήματα αντιστοιχούν σε ποια παράμετρο. Εδώ βρίσκονται τα ονομαστικά επιχειρήματα για τη διάσωση.

Τα ονομαστικά ορίσματα στη γλώσσα προγραμματισμού C # χρησιμοποιούνται για να συσχετίσουν το όνομα ορίσματος μιας μεθόδου με την τιμή της - δηλαδή, η τιμή που μεταβιβάστηκε ως όρισμα κατά την κλήση της μεθόδου. Πρέπει να σημειωθεί ότι όταν χρησιμοποιείτε ένα ονομαστικό όρισμα, τα επιχειρήματα αξιολογούνται με την ίδια σειρά με την οποία περάστηκαν.

Ας δούμε ένα παράδειγμα. Γράψτε την ακόλουθη μέθοδο που ονομάζεται Προσθήκη εντός της κλάσης Προγράμματος του νέου έργου εφαρμογής κονσόλας.

δημόσια στατική int Προσθήκη (int x, int y, int z, int a, int b, int c)

{

επιστροφή x + y + z + a + b + c;

}

Ας υποθέσουμε ότι καλείτε τη μέθοδο Προσθήκη όπως φαίνεται στο απόσπασμα κώδικα παρακάτω.

static void Main (συμβολοσειρά [] args)

{

Προσθήκη (5, 10);

}

Ο παραπάνω κωδικός δεν θα λειτουργήσει επειδή υπάρχουν έξι απαιτούμενες παράμετροι (καμία δεν είναι προαιρετικές παράμετροι) στην υπογραφή της μεθόδου Προσθήκη, αλλά έχετε περάσει μόνο δύο ορίσματα. Θα εμφανιστεί το ακόλουθο σφάλμα.

Ως εκ τούτου, είστε υποχρεωμένοι να μεταβιβάζετε τιμές σε καθεμία από τις παραμέτρους για να ικανοποιήσετε την κλήση, όπως φαίνεται στο απόσπασμα κώδικα που δίνεται παρακάτω.

static void Main (συμβολοσειρά [] args)

{

Προσθήκη (5, 10, 8, 2, 3, 6);

}

Τα πράγματα γίνονται περίπλοκα όταν έχετε έναν συνδυασμό τύπων δεδομένων στις παραμέτρους μιας μεθόδου. Για να το εξηγήσουμε αυτό, ας τροποποιήσουμε τη μέθοδο προσθήκης μας όπως φαίνεται στο παρακάτω απόσπασμα κώδικα.

δημόσια στατική int Προσθήκη (int x, int y, int z, double a, double b, double c)

{

επιστροφή x + y + z + Convert.ToInt32 (a) + Convert.ToInt32 (b) + Convert.ToInt32 (c);

}

Η ανάμνηση των τύπων δεδομένων των παραμέτρων καθώς και η θέση τους είναι δυσκίνητη. Η λύση σε αυτό είναι να εκμεταλλευτείτε τα ονομαστικά ορίσματα και να μεταβιβάσετε τις τιμές στη μέθοδο όπως φαίνεται στο απόσπασμα κώδικα που δίνεται παρακάτω.

static void Main (συμβολοσειρά [] args)

{

Προσθήκη (x: 5, y: 10, z: 8, a: 2.0, b: 3.0, c: 6.0);

}

Μπορείτε ακόμη και να αλλάξετε τη σειρά των ονομαστικών ορισμάτων, όπως φαίνεται στο απόσπασμα κώδικα που δίνεται παρακάτω.

static void Main (συμβολοσειρά [] args)

{

Προσθήκη (z: 8, x: 5, y: 10, c: 6, a: 2.0, b: 3.0);

}

Εφόσον ονομάζετε τα ορίσματα, μπορείτε να τα περάσετε με οποιαδήποτε σειρά και ο μεταγλωττιστής δεν θα επισημάνει κανένα σφάλμα - δηλαδή, αυτό ισχύει απόλυτα στο C #.

Χρησιμοποιήστε προαιρετικές παραμέτρους στο C #

Οι προαιρετικές παράμετροι στη γλώσσα προγραμματισμού C # σάς επιτρέπουν να καθορίσετε ορίσματα σε μια υπογραφή μεθόδου που ο καλούντος της μεθόδου είναι ελεύθερος να παραλείψει. Με άλλα λόγια, ενώ πρέπει να καθορίσετε τιμές για τις απαιτούμενες παραμέτρους, μπορείτε να επιλέξετε να μην καθορίσετε τιμές για προαιρετικές παραμέτρους. Σε ορισμένες περιπτώσεις, μια προαιρετική παράμετρος μπορεί να έχει και μια προεπιλεγμένη τιμή.

Η προεπιλεγμένη τιμή μιας προαιρετικής παραμέτρου μπορεί να έχει οποιοδήποτε από τα τρία είδη τιμών: μια σταθερή έκφραση, μια παράσταση που έχει τη μορφή τύπου τιμής ή μια παράσταση που έχει τη μορφή προεπιλογής (v) όπου το v είναι μια τιμή τύπος.

Η μέθοδος Προσθήκη που εμφανίζεται στο παρακάτω απόσπασμα κώδικα δείχνει πώς μπορείτε να καθορίσετε προαιρετικά ορίσματα σε μια μέθοδο στο C #.

δημόσια στατική int Προσθήκη (int x, int y = 0, int z = 0)

{

επιστροφή x + y + z;

}

Και εδώ μπορείτε να καλέσετε τη μέθοδο Προσθήκη.

Προσθήκη (10);

Επειδή δύο από τις παραμέτρους στη μέθοδο Προσθήκη είναι προαιρετικές, μπορείτε να μεταβιβάσετε μια ενιαία ακέραια τιμή στη μέθοδο όταν την καλείτε. Προσέξτε να ακολουθήσετε τη σωστή σειρά καθορισμού παραμέτρων σε μια μέθοδο. Οι απαιτούμενες παράμετροι πρέπει να είναι πρώτες, ακολουθούμενες από προαιρετικές παραμέτρους, εάν υπάρχουν.

Οι ονομαστικές και προαιρετικές παράμετροι εισήχθησαν στη γλώσσα προγραμματισμού C # προκειμένου να βελτιωθεί η διαλειτουργικότητα με τα COM COM. Η χρήση ονομαστικών παραμέτρων μπορεί να βελτιώσει την αναγνωσιμότητα του πηγαίου κώδικα. Και μπορείτε να επωφεληθείτε από τις προαιρετικές παραμέτρους ως αντικατάσταση για τη χρήση υπερφορτωμένων μεθόδων όταν ο ορισμός της μεθόδου είναι πανομοιότυπος.

Πώς να κάνετε περισσότερα στο C #:

  • Πώς να χρησιμοποιήσετε άπλετες διεπαφές και αλυσίδες μεθόδων στο C #
  • Πώς να ενοποιήσετε τις στατικές μεθόδους δοκιμής στο C #
  • Πώς να αναπαράγετε αντικείμενα του Θεού στο C #
  • Πώς να χρησιμοποιήσετε το ValueTask σε C #
  • Πώς να χρησιμοποιήσετε το αμετάβλητο στο C
  • Πώς να χρησιμοποιήσετε const, μόνο για ανάγνωση και στατικό σε C #
  • Πώς να χρησιμοποιήσετε σχολιασμούς δεδομένων στο C #
  • Πώς να εργαστείτε με GUID στο C # 8
  • Πότε να χρησιμοποιήσετε μια αφηρημένη τάξη εναντίον διεπαφής στο C #
  • Πώς να εργαστείτε με το AutoMapper στο C #
  • Πώς να χρησιμοποιήσετε τις εκφράσεις λάμδα στο C #
  • Πώς να συνεργαστείτε με τους αντιπροσώπους Action, Func και Predicate στο C #
  • Πώς να συνεργαστείτε με εκπροσώπους στο C #
  • Πώς να εφαρμόσετε έναν απλό καταγραφέα στο C #
  • Πώς να εργαστείτε με χαρακτηριστικά στο C #
  • Πώς να εργαστείτε με το log4net στο C #
  • Πώς να εφαρμόσετε το μοτίβο σχεδίασης αποθετηρίου στο C #
  • Πώς να εργαστείτε με προβληματισμό στο C #
  • Πώς να εργαστείτε με το σύστημα παρακολούθησης αρχείων στο C #
  • Πώς να εκτελέσετε τεμπέλης αρχικοποίηση στο C #
  • Πώς να εργαστείτε με το MSMQ στο C #
  • Πώς να εργαστείτε με μεθόδους επέκτασης στο C #
  • Πώς να μας εκφράσεις λάμδα στο C #
  • Πότε να χρησιμοποιήσετε την ευμετάβλητη λέξη-κλειδί στο C #
  • Πώς να χρησιμοποιήσετε τη λέξη-κλειδί απόδοσης στο C #
  • Πώς να εφαρμόσετε τον πολυμορφισμό στο C #
  • Πώς να δημιουργήσετε τον δικό σας προγραμματιστή εργασιών στο C #
  • Πώς να εργαστείτε με το RabbitMQ στο C #
  • Πώς να εργαστείτε με μια πλειάδα στο C #
  • Εξερεύνηση εικονικών και αφηρημένων μεθόδων στο C #
  • Πώς να χρησιμοποιήσετε το Dapper ORM στο C #
  • Πώς να χρησιμοποιήσετε το μοτίβο σχεδιασμού flyweight στο C #