Καθορισμός προαιρετικών ορισμάτων για ορίσματα δομής

Ημερομηνία δημιουργίας σελίδας :

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

Ωστόσο, μόνο σταθερές όπως "10", "Δείγμα" και "null" μπορούν να οριστούν ως προαιρετικά ορίσματα και δεν μπορείτε να καθορίσετε μια τιμή που δημιουργήθηκε σε νέα ή ορίζεται από στατική μόνο ανάγνωση που καθορίζεται κατά την εκδρομή του προγράμματος.

Το ίδιο ισχύει και αν η δομή είναι ένα όρισμα. Για παράδειγμα, εάν ο τύπος είναι IntPtr, δεν μπορείτε να καθορίσετε το IntPtr.Zero ως αρχική τιμή. Δεν είναι δυνατός ο καθορισμός του 0 και δεν είναι δυνατό να είναι null, επειδή είναι δομή. (Nullable σας επιτρέπει να καθορίσετε null, αλλά εξαιρείται επειδή ο τύπος του ορίσματος αλλάζει.)

Μπορείτε να χρησιμοποιήσετε το στοιχείο "default(T) για να χρησιμοποιήσετε τη δομή ως προαιρετικό όρισμα.) Αυτό ισοδυναμεί με την τιμή που δημιουργείται με το νέο T().

public void DoAction(IntPtr handle = default(IntPtr))
{
  // 処理
}

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