HSR MsTe
MsTe, DotNet, .Net, HSR, Hochschule Rapperswil
MsTe, DotNet, .Net, HSR, Hochschule Rapperswil
-
- 1 / 52
-
Lernkarten
In welcher Art Liste ist das Multicast Delegate implementiert?
Linked-List
Was ist der Unterschied zwischen normalen und Multicast-Delegates?
Dem Multicast-Delegate sind mehrere Methoden zugewiesen.
Technisch kein Unterschied, alle Delegates sind technisch Multicast-Delegates.
Was wird auf der Konsole ausgegeben?
delegate int Calculator(int a, int b);
Calculator calc1 = delegate (int a, int b) { return a+b; };
Calculator calc2 = delegate (int a, int b) { return a-b; };
Calculator final = calc1 + calc2;
int res = final(3,2); Console.WriteLine(res);
1 (zuletzt aufgerufene Methode bestimmt den Rückgabewert)
Wie unterscheiden sich Events und Delegates?
Delegate ist ein Typ
public void DelType(int arg);
Event ist ein Compiler-Konstrukt für Klassenmember
public event DelType MyEvent;
◼ Member wird «private»
◼ Add / Remove Methode wird generiert
Welches Entwurfsmuster / Pattern ersetzen Events?
Observer-Pattern
Bei Value Types: ja, es muss kein Boxing stattfinden. Für jeden verwendeten Value Type wird zur Laufzeit ein Buffer<?> erzeugt und wiederverwendet.
Bei Reference Types: nein, Compiler generiert schlussendlich genau diesen Code aus der generischen Klasse, wenn der generische Typ ein Reference Type ist.
Was bedeuted es, wenn eine Collection das IEnumerable<T> Interface implementiert?
Collection implementiert Iteratoren => unterstützt foreach
Welche Methoden definiert IEnumerable<T> ?
IEnumerator<T> GetEnumerator<T>()
liefert Iterator Objekt
Welche Members definiert IEnumerator<T> ?
◼ bool MoveNext()
◼ T Current
◼ void Reset()
Was sind die Vorteile der Iterator-Methode?
◼ Nur ein Element wird zwischengespeichert
◼ Deferred Evalution
◼ Bei Abbruch muss nicht gesamtes Resultat berechnet werden