HSR MsTe

MsTe, DotNet, .Net, HSR, Hochschule Rapperswil

MsTe, DotNet, .Net, HSR, Hochschule Rapperswil


M. G.
Diese Lernkarten behandeln fortgeschrittene Themen der Informatik auf Universitätsniveau und konzentrieren sich auf Methoden, Delegates, Variablen, Typen und Codebeispiele in der Programmierung. Sie decken Themen wie Iteratoren, generische Typen, Events, Delegates, Multicast-Delegates, Arrays, Enumerationen, Typumwandlungen und Assemblies ab. Diese Karteikarten sind besonders nützlich für Studierende und Entwickler, die ihr Verständnis von fortgeschrittenen Programmierkonzepten vertiefen möchten.
Karten
52
Lernende
2
Sprache
Deutsch
Kategorie
Informatik
Stufe
Universität
Erstellt / Aktualisiert
23.12.2019 / 11.04.2020

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

Ist die Laufzeiteffizient einer generischen Klasse "Buffer" besser als die Implementation mit "object" rechts?

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.

Kompiliert der gegebene Code wenn «???» durch MyList<long> ersetzt wird?

Nein. Generische Typen sind nur miteinander kompatibel, wenn alle Typparameter identisch sind.

Was ist dürfte anstelle von «???» alles stehen?

  • MyList<int>
  • MyList
  • object
  • var
  • dynamic (nicht behandelt)

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

Lernen