From 277e418a1d746908becbc0e425148c888754935c Mon Sep 17 00:00:00 2001
From: wienkop <uwe.wienkop@th-nuernberg.de>
Date: Wed, 3 Jun 2020 09:32:15 +0200
Subject: [PATCH] 2020-06-03 Mi

---
 .../DesignTimeBuild/.dtbcache.v2              | Bin 297903 -> 322969 bytes
 .vs/prog2-ss2020-wienkop/v16/.suo             | Bin 293888 -> 289280 bytes
 .../{KeyValue.cs => KeyValuePaar.cs}          |   6 +-
 07KeyValueList/Program.cs                     |  49 ++-
 .../Debug/netcoreapp3.1/07KeyValueList.dll    | Bin 9216 -> 9216 bytes
 .../Debug/netcoreapp3.1/07KeyValueList.pdb    | Bin 2944 -> 2272 bytes
 07KeyValueList/liste.cs                       | 349 +++++++++---------
 ...eyValueList.csproj.CoreCompileInputs.cache |   2 +-
 ...07KeyValueList.csproj.FileListAbsolute.txt |   1 +
 ...KeyValueList.csprojAssemblyReference.cache | Bin 0 -> 424 bytes
 .../Debug/netcoreapp3.1/07KeyValueList.dll    | Bin 9216 -> 9216 bytes
 .../Debug/netcoreapp3.1/07KeyValueList.pdb    | Bin 2944 -> 2272 bytes
 12 files changed, 231 insertions(+), 176 deletions(-)
 rename 07KeyValueList/{KeyValue.cs => KeyValuePaar.cs} (62%)
 create mode 100644 07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csprojAssemblyReference.cache

diff --git a/.vs/prog2-ss2020-wienkop/DesignTimeBuild/.dtbcache.v2 b/.vs/prog2-ss2020-wienkop/DesignTimeBuild/.dtbcache.v2
index 8ad07f29394208c453c540eade091fee4d6735ff..55c85a233a14d3c44a0bf34c0a2b294acae35924 100644
GIT binary patch
delta 9294
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

delta 7394
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

diff --git a/.vs/prog2-ss2020-wienkop/v16/.suo b/.vs/prog2-ss2020-wienkop/v16/.suo
index df5df75cd96006f796e6c7159b3605cffc2352c3..ff9ce1fceb793457e6b22408fda581121b22be1c 100644
GIT binary patch
delta 8647
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
K)AWWMmIeSC=gi0e

delta 7701
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

diff --git a/07KeyValueList/KeyValue.cs b/07KeyValueList/KeyValuePaar.cs
similarity index 62%
rename from 07KeyValueList/KeyValue.cs
rename to 07KeyValueList/KeyValuePaar.cs
index 0df6f1f..2c25c6e 100644
--- a/07KeyValueList/KeyValue.cs
+++ b/07KeyValueList/KeyValuePaar.cs
@@ -5,13 +5,13 @@ using System.Text;
 
 namespace _07KeyValueList
 {
-    class KeyValue<K, V> : IComparable<KeyValue<K, V>>
+    class KeyValuePaar<K, V> : IComparable<KeyValuePaar<K, V>>
         where K : IComparable<K>
     {
         public K key;
         public V val;
-        public KeyValue(K key, V val) { this.key = key; this.val = val; }
-        public int CompareTo(KeyValue<K, V> other)
+        public KeyValuePaar(K key, V val) { this.key = key; this.val = val; }
+        public int CompareTo(KeyValuePaar<K, V> other)
             => key.CompareTo(other.key);
         public override string ToString() => $"{key}: {val}";
     }
diff --git a/07KeyValueList/Program.cs b/07KeyValueList/Program.cs
index 285bcbb..f57e8f1 100644
--- a/07KeyValueList/Program.cs
+++ b/07KeyValueList/Program.cs
@@ -1,15 +1,58 @@
 using System;
+using System.Collections.Generic;
 
 namespace _07KeyValueList
 {
+    class Termin
+    {
+        public string was;
+        public string wer;
+        public Termin(string was, string wer) { this.was = was;this.wer = wer; }
+        public override string ToString() => $"Termin: {was} mit {wer}";
+    }
     class Program
     {
         static void Main(string[] args)
         {
-            Liste<KeyValue<string, int>> kvListe = new Liste<KeyValue<string, int>>();
-            kvListe.AddSorted(new KeyValue<string, int>("Wienkop", 1614));
-            kvListe.AddSorted(new KeyValue<string, int>("Otsa", 1855));
+            KeyValueListe<string, int> kvListe = new KeyValueListe<string, int>();
+            kvListe["Wienkop"] = 1614;
+            kvListe["Otsa"] = 1855;
+
             kvListe.Print();
+            Console.WriteLine("-----------");
+            kvListe["Otsa"] = 9999;
+            kvListe.Print();
+            Console.WriteLine("-----------");
+
+            KeyValueListe<string, Termin> termine = new KeyValueListe<string, Termin>();
+            termine["Wienkop"] = new Termin("IT-Proj", "Digitale Visitenkarte");
+            termine.Print();
+            //foreach (var item in termine)
+            //{
+            //    Console.WriteLine(item.val);
+            //}
+
+            List<Termin> termineMi = new List<Termin>();
+            termineMi.Add(new Termin("08:00 Prog2-Vorlesung", "Gruppe-Wienkop"));
+            termineMi.Add(new Termin ("09:45 Dig Bildbearbeitung","MA-MIN"));
+
+            List<Termin> termineDi = new List<Termin>();
+            termineDi.Add(new Termin("08:00 Prog2-Übung", "Gruppe-Wienkop"));
+            termineDi.Add(new Termin("09:45 Prog2-Vorlesung", "Gruppe-Wienkop"));
+            termineDi.Add(new Termin("11:30 Mitarbeiterbesprechung","Jobbörse"));
+
+            KeyValueListe<string, List<Termin>> terminverwaltung = new KeyValueListe<string, List<Termin>>();
+            terminverwaltung["03.06.2020"] = termineMi;
+            terminverwaltung["02.06.2020"] = termineDi;
+
+            foreach (var tag in terminverwaltung)
+            {
+                Console.WriteLine($"\nTermine am {tag.key}:");
+                foreach (var item in tag.val)
+                {
+                    Console.WriteLine(item);
+                }
+            }
         }
     }
 }
diff --git a/07KeyValueList/bin/Debug/netcoreapp3.1/07KeyValueList.dll b/07KeyValueList/bin/Debug/netcoreapp3.1/07KeyValueList.dll
index a1631d8cc967e04440a84e435ae705748e429e0a..b74c9e26aafb644daacbe3ef2443017974f4c7a7 100644
GIT binary patch
delta 4583
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
Avj6}9

delta 4549
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

diff --git a/07KeyValueList/bin/Debug/netcoreapp3.1/07KeyValueList.pdb b/07KeyValueList/bin/Debug/netcoreapp3.1/07KeyValueList.pdb
index 943bfa105a6de814d4be786000cca2dd28d3fcf8..e7deb1bcbcf9d68261b1a844950cdc3947ab5a3e 100644
GIT binary patch
delta 1601
zcmZn=e;_!)B({f%fkC;BfuVw#fx(A?fk8RAq$o2ly_kW4f#C=<0|N_4EHs$m1TzDJ
z1BmS&>gmG3z`()6z;J_wfkD|RCqIdSf#LQ;j_OO-c)Zt4TJ0<G&c$+a?Z*SW6DJDG
zvNJF+@G&qjh%qoQ@H0RRv}a&o5Mp3pV4HYQSWtk0fq@Y!!2~jS;#1{%kZKVI1_mAm
z1_oBB0!{`7hE)uV4BHr(7&sXj8AKVG7&4d`8A_O#7y?)r8Io9-7#6WGGHhXCVqj#r
z&cMj<iGh*fCj%3M86y)zF~|-ECWbYPObnkHnHc1lm>Ardm>H%rF*9snVrJM5vYUa4
zVJ<Th!(LuykpDrLiQx$I<PD5=^~?;6U}rKggn`|}%mA_lq(m8s53)oN<TD0l29OSr
zJjnO#NPIg61_l@(q~09lX$EEn7O43~3=9mM49pCyP`(NS0|Qq*12Y2~R6v%2fq|QW
z70wq22NZ%Y!@$76izL665yIzYU}Vr|WMD{z%JVQVGNdswFbIRAhM9pEYQ7u;1A_nq
zf)Dagy)cqMFUVUA3=E)nWMHrY^Ds$Jd_lsDiNSz@fq|Jp4IIs);P4Ry`x>H)k-?t<
z6#R?~5lo;2C(OXc(7?dVkjuD$ftg_m;{gWddWMyZ4;YvkUNJH-GBb!XDKIiKI590?
zWM*h$PGDkYU|~sMVqy3Vino%~qTI~9REF#_pUmQtRECnobOwl6S!z*vVophE9!wzB
zB@-%@>YK@sS(2K|ke6DTTI`yWnwy$e0`?gH1<j5ff|K{LT=C@hPOS_}%qdL`NK7o!
zOD^V)iHJ_jEGTQ}ZkVO8aKnv#Dh_!S1;>AUbnX)`{c~@om6zn(x$0MnBi2+!I!G}v
zFevhJvNJF;xJ<szD(lRV19BdUF^voglI06?Zq%+(dJ=Q`*feH^4G(-=U*`Asy*^u{
zA70CA@YIZvfq_wqlaWD(iGyRZ9h)9!4TAv_0|R5jzR6kaM)kJLAogueMg}1!A$A5(
zDrG8XWKd+{5CcU44-*Fq10z!*BLiQhA3FmNLn<p+n9Cm|T*<*G%akt0$Rwc50y5?q
zFC&8z69)%_AQLDXGBXG;ad0v?F;$8&FfvuLG0HG`h%qXIZGQ_<YJ^ZL2vRG|!oUf#
zj|HR_l+}gAIN2Gv88p}#c$gwt7#SHkCV%7<t#67|2oW#eXV-u89^0ZlK}w0~K@Trz
zZLt15vwXweOPWC`tY<(0sLBNnKp#d1eg+nH27U%PP<Se^F)%PlaqBglWMyDr6yRiJ
zaAV?NV~}EE5M&Ss5dtg>><o%b4BSvI6O8M_!obGh!o*N7%^(00)Zt-ZV{m0+5Myuz
z5jr4gFbgaOCK5qrX)`hKF@OnnP_`9d(BK3GH9JE#$hY~740=o)G7RjXB7&Vkiw`8n
z!H@}+lK_P%BU2?K15>pMH>g--tmg=2WMC>*;szIaj0}td;Zls+jE$2Ro6aycuVQTZ
z#MZizv2`O`n>k~fxjX{{gR~$oJA(|!&5R6I(BKeYPyhvo5-2$Mg^kQWv^)c2!%;|T
z5Cl1c5tJG%m^idRg%H>g0@Z$kLZFnu#lXPDz{ugwp}@evkUe=7S0qOZXA5tOaEsz(
QZf-9ar+IQLw=yFG0MM`J5dZ)H

literal 2944
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

diff --git a/07KeyValueList/liste.cs b/07KeyValueList/liste.cs
index 05ef612..2288bfe 100644
--- a/07KeyValueList/liste.cs
+++ b/07KeyValueList/liste.cs
@@ -1,28 +1,30 @@
 using System;
 using System.Collections.Generic;
+using System.Diagnostics.CodeAnalysis;
 using System.Text;
 
 namespace _07KeyValueList
 {
-    class Liste<T> : IComparable<Liste<T>> where T : IComparable<T>
+    class KeyValueListe<K,V> /*: IComparable<KeyValueListe<K,V>>*/ where K : IComparable<K>
     {
         // Die Klasse Element ist nun eine *private* Klasse der Klasse StringListe
         // Die Methoden von StringListe dürfen auf private Member zugreifen
         // Methoden außerhalb von StringListe dürfen dies nicht!
         private class Element  // Element ist eine private Hilfsklasse der Klasse StringListe
         {
-            public T daten;
+            public K key;
+            public V val;
             public Element next = null;
-            public Element(T daten) { this.daten = daten; }
-            public override string ToString() => daten.ToString();
+            public Element(K key, V val) { this.key = key; this.val = val ; }
+            public override string ToString() => $"{key}: {val}";
         }
 
         Element anf = null, ende = null;
         int anz = 0;      // Sehr sinnvoll für Index-Ops
         //public StringListe() { }
-        public void AddEnd(T daten)
+        public void AddEnd(K key, V val)
         {
-            Element neuesElement = new Element(daten);   // 1. Neues Element anlegen
+            Element neuesElement = new Element(key,val);   // 1. Neues Element anlegen
             anz++;
             if (anf == null)                            // 2. Leere Liste?
                 anf = ende = neuesElement;
@@ -32,71 +34,158 @@ namespace _07KeyValueList
                 ende = ende.next;
             }
         }
-        public void AddFront(T daten)
-        {
-            // 1. Leere Liste
-            // 2. Es existiert mind. ein Element
-            Element neuesElement = new Element(daten);   // Neues Element anlegen
-            anz++;
-            if (anf == null)                            // 1.Fall: Leere Liste?
-                anf = ende = neuesElement;
-            else
-            {
-                neuesElement.next = anf;                // 2. Fall
-                anf = neuesElement;
-            }
-        }
-        //public void AddBeforeNth(int index, string name)
+        #region Weitere Methoden
+        //public void AddFront(T daten)
+        //{
+        //    // 1. Leere Liste
+        //    // 2. Es existiert mind. ein Element
+        //    Element neuesElement = new Element(daten);   // Neues Element anlegen
+        //    anz++;
+        //    if (anf == null)                            // 1.Fall: Leere Liste?
+        //        anf = ende = neuesElement;
+        //    else
+        //    {
+        //        neuesElement.next = anf;                // 2. Fall
+        //        anf = neuesElement;
+        //    }
+        //}
+        ////public void AddBeforeNth(int index, string name)
+        ////{
+        ////    if (index < 0 || index > anz)
+        ////        throw new ArgumentOutOfRangeException("Index außerhalb der Listengröße");
+        ////    if (index == 0)
+        ////        AddFront(name);
+        ////    else if (index == anz)
+        ////        AddEnd(name);
+        ////    else
+        ////    {
+        ////        Element neu = new Element(name);
+        ////        anz++;
+        ////        Element item = anf;
+        ////        for (int i = 1; i < index; i++)
+        ////            item = item.next;
+        ////        neu.next = item.next;    // Die Reihenfolge dieses und des nächsten Befehls ist ENTSCHEIDEND!
+        ////        item.next = neu;
+        ////    }
+        ////}
+        //public void AddSorted(T daten)
+        //{
+        //    // 1. Fall: Leere Liste oder Anfügen am Listenende
+        //    if (anf == null || ende.key.CompareTo(daten) <= 0)
+        //        AddEnd(daten);
+        //    else
+        //    {
+        //        if (daten.CompareTo(anf.key) <= 0)
+        //            AddFront(daten);
+        //        else
+        //        {
+        //            // Wir wissen: Das neue Element ist nicht das erste und nicht das letzte Element
+        //            Element neu = new Element(daten);
+        //            anz++;
+
+        //            Element item = anf;
+        //            while (item.next.key.CompareTo(daten) < 0)
+        //                item = item.next;
+        //            neu.next = item.next;
+        //            item.next = neu;
+        //        }
+        //    }
+        //}
+        //public bool Suche(T daten)
+        //{
+        //    for (Element item = anf; item != null; item = item.next)
+        //    {
+        //        if (item.key.CompareTo(daten) == 0)
+        //            return true;
+        //    }
+        //    return false;
+        //}
+        //public void DeleteFirst()
+        //{
+        //    // 1.Fall: Liste ist leer
+        //    // 2.Fall: Liste besteht nur aus einem Element
+        //    // 3.Fall: Liste hat mehr als ein Element
+        //    if (anf == null)  // 1. Fall
+        //        return;
+        //    anz--;
+        //    if (anf == ende)  // 2. Fall
+        //        anf = ende = null;
+        //    else
+        //        anf = anf.next;   // 3. Fall
+        //}
+        //public void DeleteLast()
+        //{
+        //    // 1.Fall: Liste ist leer
+        //    // 2.Fall: Liste besteht nur aus einem Element
+        //    // 3.Fall: Liste hat mehr als ein Element
+        //    if (anf == null)  // 1. Fall
+        //        throw new NullReferenceException("Die Liste ist leer");
+        //    anz--;
+        //    if (anf == ende)  // 2. Fall
+        //        anf = ende = null;
+        //    else              // 3. Fall
+        //    {  // Wir wissen: Die Liste hat mehr als ein Element, d.h. es gibt ein
+        //       // vorletztes Element vorletzter.next == ende
+        //        Element vorletzter = anf;
+        //        while (vorletzter.next != ende)
+        //            vorletzter = vorletzter.next;
+        //        vorletzter.next = null;
+        //        ende = vorletzter;
+        //    }
+        //}
+        //public void DeleteNth(int index)
+        //{
+        //    // 1.Fall: Liste ist leer ODER Ind>=anz --> Fehler
+        //    // 2.Fall: Ind == 0  --> DeleteFirst
+        //    // 3.Fall: Ind == anz-1 --> DeleteLast
+        //    // 4. Bis hierher: Liste hat mind. ein Element und das zu löschende Element
+        //    //                 ist nicht das Erste oder Letzte
+        //    if (anz == 0 || index >= anz)  // 1. Fall
+        //        throw new ArgumentOutOfRangeException("Außerhalb der Anzahl der Listenelemente");
+        //    if (index == 0)  // 2. Fall
+        //        DeleteFirst();
+        //    else if (index == anz - 1) // 3. Fall
+        //        DeleteLast();
+        //    else
+        //    {
+        //        Element vorletzter = anf;
+        //        for (int i = 0; i < index - 1; i++)  // Liste bis zum n-1-ten Element durchlaufen
+        //            vorletzter = vorletzter.next;
+        //        vorletzter.next = vorletzter.next.next;
+        //        anz--;
+        //    }
+        //}
+        //public void DeleteByName(T other)
         //{
-        //    if (index < 0 || index > anz)
-        //        throw new ArgumentOutOfRangeException("Index außerhalb der Listengröße");
-        //    if (index == 0)
-        //        AddFront(name);
-        //    else if (index == anz)
-        //        AddEnd(name);
+        //    // leere Liste ohne Elemente
+        //    if (anf == null)
+        //        return;
+        //    // erstes Element = gesuchtes Element
+        //    if (anf.key.CompareTo(other) == 0)
+        //        DeleteFirst();
+        //    // Wir wissen jetzt:
+        //    // Liste hat mind. ein Element UND das erste Element ist nicht das gesuchte Element
         //    else
         //    {
-        //        Element neu = new Element(name);
-        //        anz++;
         //        Element item = anf;
-        //        for (int i = 1; i < index; i++)
+        //        // Durchlaufen der Liste
+        //        // solange Elemente in Liste vorhanden und gesuchtes Element noch nicht gefunden
+        //        while (item.next != null && item.next.key.CompareTo(other) != 0)
         //            item = item.next;
-        //        neu.next = item.next;    // Die Reihenfolge dieses und des nächsten Befehls ist ENTSCHEIDEND!
-        //        item.next = neu;
+        //        // Wenn gesuchtes Element in Liste vorhanden
+        //        // item = "B"
+        //        if (item.next != null)  // "C"
+        //        {
+        //            anz--;
+        //            // Nächstes Element überspringen = löschen
+        //            item.next = item.next.next;  // item.next = null
+        //            // Wenn gesuchtes Element == letztes Element:
+        //            if (item.next == null)
+        //                ende = item;
+        //        }
         //    }
         //}
-        public void AddSorted(T daten)
-        {
-            // 1. Fall: Leere Liste oder Anfügen am Listenende
-            if (anf == null || ende.daten.CompareTo(daten) <= 0)
-                AddEnd(daten);
-            else
-            {
-                if (daten.CompareTo(anf.daten) <= 0)
-                    AddFront(daten);
-                else
-                {
-                    // Wir wissen: Das neue Element ist nicht das erste und nicht das letzte Element
-                    Element neu = new Element(daten);
-                    anz++;
-
-                    Element item = anf;
-                    while (item.next.daten.CompareTo(daten) < 0)
-                        item = item.next;
-                    neu.next = item.next;
-                    item.next = neu;
-                }
-            }
-        }
-        public bool Suche(T daten)
-        {
-            for (Element item = anf; item != null; item = item.next)
-            {
-                if (item.daten.CompareTo(daten) == 0)
-                    return true;
-            }
-            return false;
-        }
+        #endregion
         public void Print()
         {
             for (Element item = anf; item != null; item = item.next)
@@ -104,16 +193,14 @@ namespace _07KeyValueList
                 Console.WriteLine(item);
             }
         }
-        public IEnumerator<T> GetEnumerator()
+        public IEnumerator<KeyValuePaar<K,V>> GetEnumerator()
         {
             for (Element item = anf; item != null; item = item.next)
             {
-                yield return item.daten; // Merken dieser Ausführungsposition
-                                         // UND Zurückliefern von item.name
-                                         // Beim nächsten Aufruf von GetEnumerator() wird
-                                         // an der gespeicherten Pos. weitergemacht.
+                yield return new KeyValuePaar<K, V>(item.key, item.val);
             }
         }
+
         //public IEnumerable<T> Filter(string pattern)
         //{
         //    for (Element item = anf; item != null; item = item.next)
@@ -126,117 +213,41 @@ namespace _07KeyValueList
         //    }
         //}
 
-        public void DeleteFirst()
-        {
-            // 1.Fall: Liste ist leer
-            // 2.Fall: Liste besteht nur aus einem Element
-            // 3.Fall: Liste hat mehr als ein Element
-            if (anf == null)  // 1. Fall
-                return;
-            anz--;
-            if (anf == ende)  // 2. Fall
-                anf = ende = null;
-            else
-                anf = anf.next;   // 3. Fall
-        }
-        public void DeleteLast()
-        {
-            // 1.Fall: Liste ist leer
-            // 2.Fall: Liste besteht nur aus einem Element
-            // 3.Fall: Liste hat mehr als ein Element
-            if (anf == null)  // 1. Fall
-                throw new NullReferenceException("Die Liste ist leer");
-            anz--;
-            if (anf == ende)  // 2. Fall
-                anf = ende = null;
-            else              // 3. Fall
-            {  // Wir wissen: Die Liste hat mehr als ein Element, d.h. es gibt ein
-               // vorletztes Element vorletzter.next == ende
-                Element vorletzter = anf;
-                while (vorletzter.next != ende)
-                    vorletzter = vorletzter.next;
-                vorletzter.next = null;
-                ende = vorletzter;
-            }
-        }
-        public void DeleteNth(int index)
+
+        
+        private Element ElementSearch(K key)
         {
-            // 1.Fall: Liste ist leer ODER Ind>=anz --> Fehler
-            // 2.Fall: Ind == 0  --> DeleteFirst
-            // 3.Fall: Ind == anz-1 --> DeleteLast
-            // 4. Bis hierher: Liste hat mind. ein Element und das zu löschende Element
-            //                 ist nicht das Erste oder Letzte
-            if (anz == 0 || index >= anz)  // 1. Fall
-                throw new ArgumentOutOfRangeException("Außerhalb der Anzahl der Listenelemente");
-            if (index == 0)  // 2. Fall
-                DeleteFirst();
-            else if (index == anz - 1) // 3. Fall
-                DeleteLast();
-            else
+            for (Element item = anf; item != null; item=item.next)
             {
-                Element vorletzter = anf;
-                for (int i = 0; i < index - 1; i++)  // Liste bis zum n-1-ten Element durchlaufen
-                    vorletzter = vorletzter.next;
-                vorletzter.next = vorletzter.next.next;
-                anz--;
+                if (item.key.CompareTo(key) == 0)
+                    return item;
             }
+            return null;
         }
-        public void DeleteByName(T other)
+        public V this[K key]
         {
-            // leere Liste ohne Elemente
-            if (anf == null)
-                return;
-            // erstes Element = gesuchtes Element
-            if (anf.daten.CompareTo(other) == 0)
-                DeleteFirst();
-            // Wir wissen jetzt:
-            // Liste hat mind. ein Element UND das erste Element ist nicht das gesuchte Element
-            else
+            get
             {
-                Element item = anf;
-                // Durchlaufen der Liste
-                // solange Elemente in Liste vorhanden und gesuchtes Element noch nicht gefunden
-                while (item.next != null && item.next.daten.CompareTo(other) != 0)
-                    item = item.next;
-                // Wenn gesuchtes Element in Liste vorhanden
-                // item = "B"
-                if (item.next != null)  // "C"
-                {
-                    anz--;
-                    // Nächstes Element überspringen = löschen
-                    item.next = item.next.next;  // item.next = null
-                    // Wenn gesuchtes Element == letztes Element:
-                    if (item.next == null)
-                        ende = item;
-                }
+                Element item = ElementSearch(key);
+                if (item != null)
+                    return item.val;
+                throw new Exception($"Der Schlüssel {key} wurde nicht gefunden!");
             }
-        }
-        private Element NthElem(int index)
-        {
-            if (index < 0 || index >= anz)
-                throw new IndexOutOfRangeException("Listenindex außerhalb des gültigen Bereichs");
-            Element item = anf;
-            while (index > 0)
+            set 
             {
-                item = item.next;
-                index--;
+                Element item = ElementSearch(key);
+                if (item != null)   // Existiert der Schlüssel schon in der Liste?
+                    item.val = value;  // JA: Wert aktualisieren
+                else
+                    AddEnd(key, value); // NEIN: Neues Schlüssel|Wert-Objekt der Liste hinzufügen
             }
-            return item;
-        }
-        public T this[int index]
-        {
-            get => NthElem(index).daten;
-            set { NthElem(index).daten = value; }
-        }
-        public Liste<T> Reverse() // DIES IST NICHT DIE LÖSUNG FÜR DIE PRAKTIKUMSAUFGABE!!!
-        {
-            Liste<T> neueListe = new Liste<T>();
-            for (Element item = anf; item != null; item = item.next)
-                neueListe.AddFront(item.daten);
-            return neueListe;
         }
 
-        public int CompareTo(Liste<T> other) => anz - other.anz;
+        
 
+        //public int CompareTo(KeyValueListe<K, V> other)
+        //{
+        //    throw new NotImplementedException();
+        //}
     }
 }
diff --git a/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csproj.CoreCompileInputs.cache b/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csproj.CoreCompileInputs.cache
index c205e14..5b4c5ef 100644
--- a/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csproj.CoreCompileInputs.cache
+++ b/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csproj.CoreCompileInputs.cache
@@ -1 +1 @@
-9b70b59186c0c0f8a2b5bc4d55137c362b4a3bbd
+f8b0ec365030a8006743282e0105ee637814682b
diff --git a/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csproj.FileListAbsolute.txt b/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csproj.FileListAbsolute.txt
index 955bd30..22f16af 100644
--- a/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csproj.FileListAbsolute.txt
+++ b/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csproj.FileListAbsolute.txt
@@ -10,3 +10,4 @@ C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\07KeyValueList\obj\Debug\netc
 C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\07KeyValueList\obj\Debug\netcoreapp3.1\07KeyValueList.dll
 C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\07KeyValueList\obj\Debug\netcoreapp3.1\07KeyValueList.pdb
 C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\07KeyValueList\obj\Debug\netcoreapp3.1\07KeyValueList.genruntimeconfig.cache
+C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\07KeyValueList\obj\Debug\netcoreapp3.1\07KeyValueList.csprojAssemblyReference.cache
diff --git a/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csprojAssemblyReference.cache b/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.csprojAssemblyReference.cache
new file mode 100644
index 0000000000000000000000000000000000000000..74fe67b1ca671095970d4a7fbcae2417231e8f41
GIT binary patch
literal 424
zcmZQzWME+U|NsAg5Y52Az`(=Az`zjao0(jcU!0#-qUThanUkUyl31Kwtmm9xl&Yf;
zmReMtnV)BCXsTzZXP{@Gqu^YcQ&L)#YMYl@T2hplqoWW|nv|27?44Q}lAoQLXPabT
zoMxJ4o@Qv6Vrr0RoX85YOcA>s!Ii}&sky-=i6yBZRh(&=IjLYCvkXK^&pAIQCpEbw
zGe56b&m*xoqa-mYCl%ysPG$xM1{M&3S1B6<0|S>&eqxGSVsc4-5j)gB+}^2`&iT0o
ziAAYJ93XRpGpkZryi+TS*}@WYN>hs&7?>GYS-CmHpziQ5O3BPi%z^896KG*?!pOkD
z$-=<EupY!<Wnf_71X;%d62hSm<V)`O%=EncqEzR^;#3AkMgfpUP-F;zG=mu20NjFh
Ae*gdg

literal 0
HcmV?d00001

diff --git a/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.dll b/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.dll
index a1631d8cc967e04440a84e435ae705748e429e0a..b74c9e26aafb644daacbe3ef2443017974f4c7a7 100644
GIT binary patch
delta 4583
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
Avj6}9

delta 4549
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

diff --git a/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.pdb b/07KeyValueList/obj/Debug/netcoreapp3.1/07KeyValueList.pdb
index 943bfa105a6de814d4be786000cca2dd28d3fcf8..e7deb1bcbcf9d68261b1a844950cdc3947ab5a3e 100644
GIT binary patch
delta 1601
zcmZn=e;_!)B({f%fkC;BfuVw#fx(A?fk8RAq$o2ly_kW4f#C=<0|N_4EHs$m1TzDJ
z1BmS&>gmG3z`()6z;J_wfkD|RCqIdSf#LQ;j_OO-c)Zt4TJ0<G&c$+a?Z*SW6DJDG
zvNJF+@G&qjh%qoQ@H0RRv}a&o5Mp3pV4HYQSWtk0fq@Y!!2~jS;#1{%kZKVI1_mAm
z1_oBB0!{`7hE)uV4BHr(7&sXj8AKVG7&4d`8A_O#7y?)r8Io9-7#6WGGHhXCVqj#r
z&cMj<iGh*fCj%3M86y)zF~|-ECWbYPObnkHnHc1lm>Ardm>H%rF*9snVrJM5vYUa4
zVJ<Th!(LuykpDrLiQx$I<PD5=^~?;6U}rKggn`|}%mA_lq(m8s53)oN<TD0l29OSr
zJjnO#NPIg61_l@(q~09lX$EEn7O43~3=9mM49pCyP`(NS0|Qq*12Y2~R6v%2fq|QW
z70wq22NZ%Y!@$76izL665yIzYU}Vr|WMD{z%JVQVGNdswFbIRAhM9pEYQ7u;1A_nq
zf)Dagy)cqMFUVUA3=E)nWMHrY^Ds$Jd_lsDiNSz@fq|Jp4IIs);P4Ry`x>H)k-?t<
z6#R?~5lo;2C(OXc(7?dVkjuD$ftg_m;{gWddWMyZ4;YvkUNJH-GBb!XDKIiKI590?
zWM*h$PGDkYU|~sMVqy3Vino%~qTI~9REF#_pUmQtRECnobOwl6S!z*vVophE9!wzB
zB@-%@>YK@sS(2K|ke6DTTI`yWnwy$e0`?gH1<j5ff|K{LT=C@hPOS_}%qdL`NK7o!
zOD^V)iHJ_jEGTQ}ZkVO8aKnv#Dh_!S1;>AUbnX)`{c~@om6zn(x$0MnBi2+!I!G}v
zFevhJvNJF;xJ<szD(lRV19BdUF^voglI06?Zq%+(dJ=Q`*feH^4G(-=U*`Asy*^u{
zA70CA@YIZvfq_wqlaWD(iGyRZ9h)9!4TAv_0|R5jzR6kaM)kJLAogueMg}1!A$A5(
zDrG8XWKd+{5CcU44-*Fq10z!*BLiQhA3FmNLn<p+n9Cm|T*<*G%akt0$Rwc50y5?q
zFC&8z69)%_AQLDXGBXG;ad0v?F;$8&FfvuLG0HG`h%qXIZGQ_<YJ^ZL2vRG|!oUf#
zj|HR_l+}gAIN2Gv88p}#c$gwt7#SHkCV%7<t#67|2oW#eXV-u89^0ZlK}w0~K@Trz
zZLt15vwXweOPWC`tY<(0sLBNnKp#d1eg+nH27U%PP<Se^F)%PlaqBglWMyDr6yRiJ
zaAV?NV~}EE5M&Ss5dtg>><o%b4BSvI6O8M_!obGh!o*N7%^(00)Zt-ZV{m0+5Myuz
z5jr4gFbgaOCK5qrX)`hKF@OnnP_`9d(BK3GH9JE#$hY~740=o)G7RjXB7&Vkiw`8n
z!H@}+lK_P%BU2?K15>pMH>g--tmg=2WMC>*;szIaj0}td;Zls+jE$2Ro6aycuVQTZ
z#MZizv2`O`n>k~fxjX{{gR~$oJA(|!&5R6I(BKeYPyhvo5-2$Mg^kQWv^)c2!%;|T
z5Cl1c5tJG%m^idRg%H>g0@Z$kLZFnu#lXPDz{ugwp}@evkUe=7S0qOZXA5tOaEsz(
QZf-9ar+IQLw=yFG0MM`J5dZ)H

literal 2944
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

-- 
GitLab