Junior — Middle
Μπορείς να αναφέρεις τους βασικούς τύπους αντιπροσώπων που χρησιμοποιούνται στη γλώσσα προγραμματισμού;
sobes.tech AI
Απάντηση από AI
Στη γλώσσα προγραμματισμού C#, οι delegates είναι τύποι που αντιπροσωπεύουν αναφορές σε μεθόδους με μια συγκεκριμένη υπογραφή. Οι κύριοι τύποι delegates:
- Single-cast delegates — αναφέρονται σε μία μέθοδο.
- Multicast delegates — μπορούν να περιέχουν μια λίστα μεθόδων που καλούνται διαδοχικά.
Επιπλέον, υπάρχουν τυπικοί γενικοί delegates:
Action— ένας delegate που αντιπροσωπεύει μια μέθοδο χωρίς τιμή επιστροφής και με 0 ή περισσότερα παραμέτρους.Func<TResult>καιFunc<T1, TResult>και άλλοι — delegates που επιστρέφουν μια τιμή και μπορούν να δέχονται παραμέτρους.Predicate<T>— ένας delegate που δέχεται μία παράμετρο και επιστρέφειbool.
Παράδειγμα δήλωσης και χρήσης delegate:
public delegate int Operation(int x, int y);
Operation add = (a, b) => a + b;
int result = add(3, 4); // 7
Multicast delegate:
Operation op = add;
op += (a, b) => a * b;
foreach (Operation del in op.GetInvocationList()) {
Console.WriteLine(del(3, 4));
}
Έτσι, οι κύριοι τύποι delegates είναι: single-cast, multicast, καθώς και οι τυπικοί γενικοί delegates Action, Func και Predicate.