Sobes.tech
Junior — Middle

Kannst du die wichtigsten Delegattypen nennen, die in der Programmiersprache verwendet werden?

sobes.tech KI

Antwort von AI

In der Programmiersprache C# sind Delegates Typen, die Verweise auf Methoden mit einer bestimmten Signatur darstellen. Die Haupttypen von Delegates:

  • Single-cast Delegates — verweisen auf eine einzelne Methode.
  • Multicast Delegates — können eine Liste von Methoden enthalten, die nacheinander aufgerufen werden.

Außerdem gibt es standardmäßige generische Delegates:

  • Action — ein Delegate, das eine Methode ohne Rückgabewert und mit 0 oder mehr Parametern repräsentiert.
  • Func<TResult> und Func<T1, TResult> usw. — Delegates, die einen Wert zurückgeben und Parameter akzeptieren können.
  • Predicate<T> — ein Delegate, das einen Parameter akzeptiert und einen bool zurückgibt.

Beispiel für die Deklaration und Verwendung eines Delegates:

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));
}

Daher sind die Haupttypen von Delegates: Single-cast, Multicast sowie die standardmäßigen generischen Delegates Action, Func und Predicate.