98-372 Understanding Namespaces and Classes in the .NET Framework
Namensräume und Klassen verstehen. Beinhaltet auch Dinge wie Datentypen.
Namensräume und Klassen verstehen. Beinhaltet auch Dinge wie Datentypen.
Set of flashcards Details
Flashcards | 59 |
---|---|
Language | Deutsch |
Category | Computer Science |
Level | Primary School |
Created / Updated | 10.12.2013 / 12.04.2015 |
Weblink |
https://card2brain.ch/box/98372_understanding_namespaces_and_classes_in_the_net_framework
|
Embed |
<iframe src="https://card2brain.ch/box/98372_understanding_namespaces_and_classes_in_the_net_framework/embed" width="780" height="150" scrolling="no" frameborder="0"></iframe>
|
Auf welche der folgenden collections kann mit einem key zugegriffen werden?
Duch was zeichnet sich eine Queue<T> aus?
Das ist eine FIFO Datenstruktur.
Durch was zeichnet sich ein SortedDictionary?
Ähnlich wie SortedList, ist aber als Dictionary implementiert.
Es ist schneller als eine SortedList beim Löschen und Schreiben.
Durch was zeichnet sich eine LinkedList<T> aus?
Ein Set von Daten, wo jeder Eintrag auf den nächsten zeigt.
Durch was zeichnet sich eine SortedList<TKey, TValue> aus? Nenne 3 Eigenschaften
- Das ist eine Collection von key, value Paaren.
- Die Liste ist nach dem Key sortiert.
- Daten auslesen geht sehr schnell
Erkläre was ein Struct ist.
Ein Struct ist ein bisschen wie eine Klasse, nur es ist kein reference Type sondern ein value Type. Er kann alles beinhalten was eine Klasse auch kann, Konstruktoren, Methoden usw. nur kann er nicht erben. Ein struct ist geeignet für einfache Datenkonstrukte aus value types, die man häufig verwendet.
Mit welcher Methode fügt man ein Element einer Queue hinzu?
jobQueue.Enqueue(2);
Mit welcher Methode holt man das erstel Element der Queue wider heraus?
jobQueue.Dequeue();
Mit welcher Methode kann man das erste Element einer Queue herausholen ohne es zu entfernen?
jobQueue.Peek();
Wann wird explizites Casting notwendig?
Wenn beim Casten Information verloren geht. Andernfalls ist ein Cast nicht notwendig. Das heisst int zu float geht, float zu int hingegen nicht.
Was bedeutet CIL? Und was ist das?
Common intermediate Language. Das ist das was ein .NET Compiler (wie z.B. der C# compiler) durch den Compilevorgang produziert.
Was bedeutet CTS?
Common Type System
Was bedeutet Type Safe?
Type Save stellt sicher, dass das Programm immer die korrekte Anzhl Bytes für einen Typen schreibt oder liesst. Ohne type Safe könnten Datentypen aus dem Speicher geladen werden und anderen Typen zuweisein, die diese Information nicht gebrauchen könnten. So könnte man z.B. auch einen String von eine Int abziehen.
Was bedeutet Verifiability?
Verifiability im Zusammenhang mit Generics ist der Prozess von Constraints checken um sicher zu stellen, dass der Code Memory Safe ist.
Was bedeutet wenn bei generischen Typen der Type Parameter contravariant ist?
Das bedeutet man kann auch den Basistypen des vorgegenben Type Parameter übergeben.
Anders ausgedrückt, ich kann einer Aufzählung von string eine Aufzählung von object übergeben.
Was bedeutet wenn bei generischen Typen der Type Parameter covariant ist?
Das heisst, man kann auch einen Typ übergeben, der vom vorgegebenen Typ abgeleitet ist.
Anders ausgedrückt, ich kann eine Aufzählung von strings einer Aufzählung von object übergeben.
IEnumerable<object> objects = new List<string>();
Was gibt numbers.GetLength(1) zurück, wenn numbers ein 3 x 4 Array ist? Zu welcher Basis arbeitet GetLength()?
- 4
- 0
Erklärung: GetLength() giebt die Grösse der einzelnen Dimensionen eines Arrays zurück. Hier haben wir einen 3x4 Array. Die nullte bzw. erste Dimension ist 3 also ist die zweite Dimension 4
Was gibt numbers.Length zurück wenn numbers ein 3 x 4 Array ist?
12
Was ist "boxing"
Boxing ist der Prozess des Konvertieren eines value types in einen reference type. Zu beachten ist, dass Boxing eine Kopie erstellt und nicht verweist.
Was ist AppDomain?
Eine isolierte Umgebung, in der Programme ausgeführt werden. Mein Programm wird in der Standard AppDomain gestartet. Gibts nur für verwalteten Code. Ist ein Prozess instabil, kann ich ihn in eine weitere Domaine auslagern.
Was ist das generische Pendant von Hashtable?
Dictionary
Was ist das generische Pendant zu ArrayList?
List<T>
Was ist der
- .NET Type
- Wertebereich
- Ganzzahl?
- Speicherbreite
Von Int
Syste.Int32
ca. -/+ 2.147 * 10^9
Ganzzahlig
32Bit
Was ist der grosse Vorteil von einem Dictionary? Was ist sein nicht generisches Pendant?
- Mit dem Key kann sehr schnell Daten aus dem Dictionary geholt werden
- Hashtable
Was ist der Unterschied zwischen einem value Type und einem primitive Type?
Ein value Type zeichnet sich dadurch aus, dass er auf dem Stack abgelegt wird. Es ist schlicht ein Typ, der den Wert direkt in sich speichert.
Primitive Types gibt es ncht viele. Dazu gehören z.B. Boolean, Int32, Char und noch einige mehr. Primitive Types gehören zum System Namespace und sind in der CLI spezifiziert.
Was ist der Unterschied zwischen primitive Type und built-in Type (intrinsic Type) ?
Ein intrinsic type wurde in der Sprache selber definiert, wurde aber nicht zwangsläufig in der CLI spezifiziert. Ein primitive Type wurde in der CLI spezifiziert.
Was ist der
- .NET Type
- Wertebereich
- Ganzzahl?
- Speicherbreite
Double
- System.Double
- ca. -/+ 1.79 * 10^308
- Floating point
- 64 Bit
Was ist der
- .NET Type
- Wertebereich
- Ganzzahl?
- Speicherbreite
long
- System.Int64
- -/+ 9.22 * 10^18
- Ganzzahl
- 64 Bit
Was ist der
- .NET Type
- Wertebereich
- Ganzzahl?
- Speicherbreite
short
- System.Int16
- -32768 bis 32767
- Ganzzahlt
- 16 Bit
Was ist der
- .NET Type
- Wertebereich
- Ganzzahl?
- Speicherbreite
Von Decimal
System.Decimal
-/+ 7.9 x 10^28
Festkomma
128 Bit
Was ist der
- .NET Type
- Wertebereich
- Ganzzahl?
- Speicherbreite
Von float
- System.Single
- ca -/+ 3.4*10^38
- Floating point (Gleitkomma)
- 32 Bits
Was ist der
- .NET Type
- Wertebereich
- Ganzzahl?
- Speicherbreite
Von sbyte
- Sytem.SByte
- -128 bis 127
- Nein
- 1 Byte
Was ist die maximale Anzahl Dimensionen, die ein Array haben kann?
32
Was ist eine KeyedCollection<TKey, TValue>?
Es handelt sich dabei um eine abstrakte Klasse, die als Basis für das Erstellen von Collections dient.
Was ist Memory Safety?
Beim Kompilieren sucht der Compiler nach Verifiability. Das heisst er stellt sicher, dass der Code Memory Safe ist.
Memory Safe bedeutet dass das Programm nur in Speicher schreibt oder von ihm liest, wo es auch gedacht ist und nicht unwillkürlich irgendwo. Z.B. wenn in einem bestimmten Adressbereich ein String gespeichert ist aber die Software nun plötzlich versucht einen komplexen Typ zu lesen, kann es zu unvorhergesehenen Effekten kommen.
Was ist sind die zwei Hauptnachteile von ArrayList?
- Fehlende Typensicherheit. In ArrayList kann man alles speichern was man will. Man hat also keine Typensicherheit hier und muss immer sauber casten, wenn man Werte auslesen will.
- Performance. Wenn man einen ValueType speichert, muss dieser immer geboxt werden und beim Auslesen wieder unboxed, das verusacht einen zusätzlichen Overhead.
was ist unboxing?
Der Prozess des Konvertieren eines reference types in einen value type. Dabei ist explizites Konvertieren notwendig. Wenn beim Boxing ein anderer Typ verwendet wird als wie beim Unboxing, wird eine InvalidCastException geworfen.
Was passiert wenn ich einen struct einem anderen zuweise. Wird der Wert kopiert oder eine Referenz?
Da ein struct ein Valuetype ist, wird der Wert von der einen Variablen in die andere kopiert.
Was sind Constraints? Wie werden sie verwendet?
- Über Constraints im Zusammenhang mit Generics kann man dem Client Code vorgeben, welche Typen für die generische Klasse zugelassen sind.
- Constraints kann man mit Hilfe des "where" Keywords angeben.
z.B:: public class EmployeeRecord<T> where T : Employee
{
}
Was sind die drei Hauptmerkmale einer SortedList? Was ist ihr nicht generisches Pendant?
- Sie ist nach dem key sortiert
- Man kann auf die Werte mit key oder index zugreifen
- Daten auslesen geht sehr schnell
SortedList