Beruflich Dokumente
Kultur Dokumente
Collections
Dipl.-Ing. Msc. Paul Panhofer Bsc.
2. November 2020
sew htl krems
1 Datenstukturen
Glossar
2 Collection
Arrays
Listen
Dictionary
Stack
Datenstrukturen
Datenstrukturen
Collection
Datenstrukturen
foreach Schleife
foreach(int n in numbers){
Console.WriteLine(n);
}
}
}
Datenstrukturen
Indexer
Datenstrukturen
Indexer
gm[0] = 34;
gm[1] = 54;
Assert.AreEqual(34, gm[0]);
Assert.AreEqual(54, gm[1]);
}
1 Datenstukturen
Glossar
2 Collection
Arrays
Listen
Dictionary
Stack
Collection
Array
Datenstruktur - Array
Arrays sind Datentypen, die zur Speicherung mehrer
Werte eines einzelnen Typs verwendet werden.
Das Array selbt ist ein Objekt und wird mit den new
Operator erzeugt.
Collection - Array
Einfache Datentpyen
numbers[0] = 4;
numbers[1] = 3;
numbers[2] = 1;
Assert.AreEqual(3, numbers.Length)
Assert.AreEqual(4, numbers[0]);
}
}
Collection - Array
Einfache Datentypen
Assert.AreEqual(3, numbers.Length);
Assert.AreEqual(4, numbers[0]);
}
}
Collection - Array
Objekte
public class Point {
Collection - Array
Objekte
Assert.AreEqual(3, points.Length);
Assert.AreEqual(5, points[1].Y);
}
}
Collection - Array
Objekte
Assert.AreEqual(3, points.Length);
Assert.AreEqual(5, points[1].Y);
}
}
Collection - Array
Mehrdimensionale Arrays
public class ArrayTest{
[Test]
public void TestArrayCollection(){
int[,] board = new int[3,3];
int counter = 0;
1 Datenstukturen
Glossar
2 Collection
Arrays
Listen
Dictionary
Stack
Collection
Dynamische Datenstruktur: Listen
Datenstruktur: Listen
Listen sind dynamische Datenstruktur, die zur Speicherung
mehrerer Werten eines einzelnen Typs verwendet werden.
Collection - Listen
Einfache Datentpyen
numbers.Add(3);
numbers.Add(2);
numbers.Add(5);
Assert.AreEqual(3, numbers.Count)
Assert.AreEqual(3, numbers[0]);
}
}
Collection - Listen
Komplexe Datentypen
Assert.AreEqual(3, points.Count);
Assert.AreEqual(9, points[1].X);
}
}
Listen
Methoden
Befehl Beschreibung
Add Fügt ein Element am Ende der
Liste ein.
AddRange Fügt eine Liste von Elementen
am Ende der Liste an.
Clear Löschte alle Elemente der Liste.
Contains Überprüft ob ein bestimmtes Ele-
ment in der Liste enthalten ist.
Listen
Methoden
Befehl Beschreibung
Insert Fügt ein Element an einem be-
stimmten Index ein.
InsertRange Fügt die Elemente einer anderer
Kollection ab einem bestimmten
Index an.
Remove Entfernt das erste Vorkommen
des angegeben Elements aus
der Liste.
RemoveAt Entfernt das Element am ange-
gebenem Index
Listen
Methode: AddRange
Assert.AreEqual(2, c.Count);
}
}
Listen
Methode: Clear
public class ListTest{
[Test]
public void TestListMethod(){
List<Point> points = new List<Point>(){
new Point(3,4), new Point(7,1),
new Point(4,4), new Point(5,2)
};
Assert.AreEqual(4, points.Count);
points.Clear();
Assert.AreEqual(0, points.Count);
}
}
Listen
Methode: Contains
Assert.True(
points.Contains( new Point(4,4) )
);
}
}
Listen
Methode: Insert
public class ListTest{
[Test]
public void TestListMethod(){
List<Point> points = new List<Point>(){
new Point(3,4), new Point(7,1),
new Point(4,4), new Point(5,2)
};
Assert.AreEqual(7, points[1].X);
points.Insert(1, new Point(4,1));
Assert.AreEqual(4, points[1].X);
}
}
Listen
Methode: Remove
points.Remove(new Point(4,4));
Assert.AreEqual(3, points.Count);
}
}
1 Datenstukturen
Glossar
2 Collection
Arrays
Listen
Dictionary
Stack
Collection
Dynamische Datenstruktur: Dictionary
Datenstruktur: Dictionary
Ein Dictionary ist eine dynamische Datenstruktur, zur
Verwaltung von Schlüssel Werte Paaren.
Dynamische Datenstruktur:
Dictionary
public class DictionaryTest{
[Test]
public void TestDictionary(){
Dictionary<String, String> phoneList = new
Dictionary<String, String>();
phoneList["Haidvogl"] = "0664/89723";
phoneList["Panhofer"] = "0650/98376";
Assert.AreEqual("0664/89723",
phoneList["Haidvogl"]);
}
}
Dictionary
Methode: Count, Clear
public class DictionaryTest{
[Test]
public void TestDictionryMethod(){
Dictionary<String, String> phoneList = new
Dictionary<String, String>();
phoneList["Haidvogl"] = "0664/89723";
phoneList["Panhofer"] = "0650/98376";
Assert.AreEqual(2, phoneList.Count);
phoneList.Clear();
Assert.AreEqual(0, phoneList.Count);
}
}
Dipl.-Ing. Msc. Paul Panhofer Bsc. — SEW — 2. November 2020
31/48
sew htl krems
Dictionary
Methode: ContainsKey, ContainsValue
phoneList["Haidvogl"] = "0664/89723";
phoneList["Panhofer"] = "0650/98376";
Assert.True(phoneList.ContainsKey("Panhofer"));
Assert.True(phoneList.ContainsValue("0650/98376"));
}
}
Dictionary
Methode: Remove
phoneList["Haidvogl"] = "0664/89723";
phoneList["Panhofer"] = "0650/98376";
phoneList.Remove("Panhofer");
Assert.AreEqual(2, phoneList.Count);
}
}
Dictionary
forEach Schleife
public class DictionaryTest{
[Test]
public void TestDictionryMethod(){
Dictionary<String, String> phoneList = new
Dictionary<String, String>();
phoneList["Haidvogl"] = "0664/89723";
phoneList["Panhofer"] = "0650/98376";
Dictionary
forEach Schleife
public class DictionaryTest{
[Test]
public void TestDictionryMethod(){
Dictionary<String, String> phoneList = new
Dictionary<String, String>();
phoneList["Haidvogl"] = "0664/89723";
phoneList["Panhofer"] = "0650/98376";
1 Datenstukturen
Glossar
2 Collection
Arrays
Listen
Dictionary
Stack
Collection
Dynamische Datenstruktur: Stack
Datenstruktur: Stack
Ein Stack ist eine Dynamische Datenstruktur der Elemente
nach dem LIFO Prinzip verwaltet. Die Elemente des Stacks
werden dabei übereinander gestapelt und können nur in
umgekehrter Reihenfolge von Stack ausgelesen werden.
Collection: Stack
Collection
Dynamische Datenstruktur: Stack
Befehl Beschreibung
Push Die Methode fügt ein Element zum Stack
hinzu. Dazu wird das Element oben auf den
Stack gelegt.
Pop Die Methode entfernt das oberste Objekt
vom Stapel.
Peek Die Methode gibt eine Referenz auf das
oberste Element im Stapel zurück.
Collection
Dynamische Datenstruktur: Stack
Befehl Beschreibung
Clear Die Methode loescht alle Objektereferen-
zen aus dem Stack.
Contains Die Methode prueft ob ein bestimmtes Ele-
ment in der Liste enthalten ist.
ToArray Kopiert die im Stack verwalteten Objektre-
ferenzen in ein Array.
CopyTo Kopiert die im Stack verwalteten Objektre-
ferenzen in ein Array. Es werden alle Ele-
mente ab einem bestimmten Index kopiert.
Collection - Stack
Methode: Push
points.Push(new Point(4,5));
points.Push(new Point(9,2));
Assert.AreEqual(2, points.Count);
}
}
Collection - Stack
Methode: Pop
public class CollectionTest{
[Test]
public void TestCollectionMethod(){
Stack<Point> points = new Stack<Point>();
points.Push(new Point(4,5));
points.Push(new Point(9,2));
Assert.AreEqual(2, points.Count);
Assert.AreEqual(9, (points.Pop()).X);
Assert.AreEqual(1, points.Count);
}
}
Collection - Stack
Methode: Peek
public class CollectionTest{
[Test]
public void TestCollectionMethod(){
Stack<Point> points = new Stack<Point>();
points.Push(new Point(4,5));
points.Push(new Point(9,2));
Assert.AreEqual(2, points.Count);
Assert.AreEqual(9, (points.Peek()).X);
Assert.AreEqual(2, points.Count);
}
}
Collection - Stack
Methode: Peek
public class CollectionTest{
[Test]
public void TestCollectionMethod(){
Stack<Point> points = new Stack<Point>();
points.Push(new Point(4,5));
points.Push(new Point(9,2));
Assert.AreEqual(2, points.Count);
Assert.AreEqual(9, (points.Peek()).X);
Assert.AreEqual(2, points.Count);
}
}
Collection - Stack
Methode: Clear
public class CollectionTest{
[Test]
public void TestCollectionMethod(){
Stack<Point> points = new Stack<Point>();
points.Push(new Point(4,5));
points.Push(new Point(9,2));
Assert.AreEqual(2, points.Count);
points.Clear();
Assert.AreEqual(0, points.Count);
}
}
Collection - Stack
Methode: Contains
points.Push(new Point(4,5));
points.Push(new Point(9,2));
Assert.True(points.Contains(new Point(9,2)));
Assert.False(points.Contains(new Point(2,2)));
}
}
Collection - Stack
Methode: ToArray
public class CollectionTest{
[Test]
public void TestCollectionMethod(){
Stack<Point> pointStack = new Stack<Point>();
pointStack.Push(new Point(4,5));
pointStack.Push(new Point(9,2));
Assert.AreEqual(2, points.Length);
Assert.AreEqual(2, points[1].Y);
}
}
Collection - Stack
Methode: CopyTo
pointStack.Push(new Point(4,5));
pointStack.Push(new Point(9,2));
pointStack.CopyTo(points, 0)
}
}