Sobes.tech
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.