diff --git a/.vs/prog2-ss2020-wienkop/v16/.suo b/.vs/prog2-ss2020-wienkop/v16/.suo
index df1080773c9f75875ef2cd652bff328affdfe9b3..707bede9a848e9fa8015cce524b55ac7b64e05b2 100644
Binary files a/.vs/prog2-ss2020-wienkop/v16/.suo and b/.vs/prog2-ss2020-wienkop/v16/.suo differ
diff --git a/03BinTree/Program.cs b/03BinTree/Program.cs
index ea1f094b84060e0e798634285624da6b81003e31..ad1c66dd1a6014507909463d53a2e9d55cb42eaa 100644
--- a/03BinTree/Program.cs
+++ b/03BinTree/Program.cs
@@ -29,7 +29,8 @@ namespace _03BinTree
                 BItem item = root;
                 do
                 {
-                    if (Zahl < item.zahl)        // links oder rechts?
+                    //if (Zahl == item.zahl) { }
+                    if (Zahl < item.zahl)        // echt kleiner! | links oder rechts?
                     {   // Linker Teilbaum
                         if (item.kleiner == null)  // ist "links" frei?
                         {
@@ -39,7 +40,7 @@ namespace _03BinTree
                         else
                             item = item.kleiner;
                     }
-                    else
+                    else   // größer-gleich
                     {
                         if (item.groesser == null)  // ist "rechts" frei?
                         {
@@ -63,22 +64,55 @@ namespace _03BinTree
             }
             return false;
         }
-        private void Print(BItem item)
+
+        //private void Print(BItem item)
+        //{
+        //    if (item != null)
+        //    {
+        //        Console.WriteLine($"{item.kleiner.zahl}  -  {item.zahl}  -  {item.groesser.zahl}");
+        //    }
+        //}
+        public void InOrderPrint()
         {
+            InOrderPrint(root);
+            Console.WriteLine();
+        }
+        private void InOrderPrint(BItem item)
+        {       // kleiner - selbst - größer
             if (item != null)
             {
-                if (item.kleiner!= null)
-                    Print(item.kleiner);
+                Console.Write("( ");
+                if (item.kleiner != null)
+                    InOrderPrint(item.kleiner);
                 Console.Write(item.zahl + " ");
-                if (item.groesser!=null)
-                    Print(item.groesser);
+                if (item.groesser!= null)
+                    InOrderPrint(item.groesser);
+                Console.Write(") ");
             }
         }
-        public void Print()
+        public void PreOrderPrint()
         {
-            Print(root);
+            PreOrderPrint(root);
             Console.WriteLine();
         }
+        private void PreOrderPrint(BItem item)
+        { // selbst - kleiner - größer
+            if (item != null)
+            {
+                Console.Write("( ");
+
+                Console.Write(item.zahl + " ");  
+                
+                if (item.kleiner != null)
+                    PreOrderPrint(item.kleiner);
+                
+                if (item.groesser != null)
+                    PreOrderPrint(item.groesser);
+
+                Console.Write(") ");
+            }
+        }
+
     }
     class Program
     {
@@ -86,15 +120,13 @@ namespace _03BinTree
         {
             BinTree bt = new BinTree();
             bt.InsertItem(50);
-            bt.InsertItem(25);
-            bt.InsertItem(75);
-            bt.InsertItem(60);
-            bt.InsertItem(80);
-            bt.InsertItem(77);
+            bt.InsertItem(40);
             bt.InsertItem(70);
-            bt.InsertItem(50);
+            bt.InsertItem(35);
+            bt.InsertItem(45);
+            
 
-            bt.Print();
+            bt.PreOrderPrint();
             Console.WriteLine($"Find(77): {bt.FindItem(77)}");
             Console.WriteLine($"Find(78): {bt.FindItem(78)}");
         }
diff --git a/03BinTree/bin/Debug/netcoreapp3.1/03BinTree.dll b/03BinTree/bin/Debug/netcoreapp3.1/03BinTree.dll
index 360de67f79d399911907c30cdb4822ccc269949b..ba27d16dba2c64b07186b3644aefb77045490416 100644
Binary files a/03BinTree/bin/Debug/netcoreapp3.1/03BinTree.dll and b/03BinTree/bin/Debug/netcoreapp3.1/03BinTree.dll differ
diff --git a/03BinTree/bin/Debug/netcoreapp3.1/03BinTree.pdb b/03BinTree/bin/Debug/netcoreapp3.1/03BinTree.pdb
index a5d22992562d7caa404f4d43717fd2180346273e..e23aebc1c0a647826a8bd4e1709f913c073d4f63 100644
Binary files a/03BinTree/bin/Debug/netcoreapp3.1/03BinTree.pdb and b/03BinTree/bin/Debug/netcoreapp3.1/03BinTree.pdb differ
diff --git a/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.csprojAssemblyReference.cache b/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.csprojAssemblyReference.cache
index e84921a470a178d6c34a6d16975b66db84b52171..475e9f25ddab19c98e99fb9760c6360cd0369394 100644
Binary files a/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.csprojAssemblyReference.cache and b/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.csprojAssemblyReference.cache differ
diff --git a/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.dll b/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.dll
index 360de67f79d399911907c30cdb4822ccc269949b..ba27d16dba2c64b07186b3644aefb77045490416 100644
Binary files a/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.dll and b/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.dll differ
diff --git a/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.pdb b/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.pdb
index a5d22992562d7caa404f4d43717fd2180346273e..e23aebc1c0a647826a8bd4e1709f913c073d4f63 100644
Binary files a/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.pdb and b/03BinTree/obj/Debug/netcoreapp3.1/03BinTree.pdb differ
diff --git a/11 UebgDiTransformator/Program.cs b/11 UebgDiTransformator/Program.cs
index a87ae826719b683531519269547b83ddfc5ba167..b313352cb7d9047194c226baba203b0bf3567a14 100644
--- a/11 UebgDiTransformator/Program.cs	
+++ b/11 UebgDiTransformator/Program.cs	
@@ -11,35 +11,44 @@ namespace _11_UebgMoTransformator
 
     class Program
     {
-        delegate T MeineFkt<T>(T x);
-        static T[] ApplyAll<T>(MeineFkt<T> fkt,  params T[] werte)
+        delegate void Transformationen<T>(ref T[] x);
+
+        static  void Verdichten(ref string [] werte)
         {
-            T[] erg = new T[werte.Length];
-            Console.Write("APPLY ALL: ");
-            for (int i = 0; i < werte.Length; i++)
+            //string[] erg = new string[1];
+            //erg[0] = "Anton & Berta";
+            //werte = erg;
+            int anz = werte.Length / 2;
+            string[] erg = new string[anz];
+            for (int i = 0; i < 2 * anz; i += 2)
             {
-                erg[i] = fkt(werte[i]);
-                Console.Write($"{erg[i]}  ");
+                erg[i / 2] = werte[i] + "&" + werte[i + 1];
             }
-            Console.WriteLine();
-            return erg;
+            werte = erg;
         }
-
-        static  void Verdichten(ref string [] werte)
+        static void Grossbuchstaben(ref string[] werte)
         {
-            string[] erg = new string[1];
-            erg[0] = "ANTON&BERTA";
-            werte = erg;
+            for (int i = 0; i < werte.Length; i++)
+            {
+                werte[i] = werte[i].ToUpper();
+            }
         }
+
+        static Transformationen<string> Transform;
+
         static void Main(string[] args)
         {
             Console.WriteLine("Hello World!");
             // Anton, Berta, Claudia, Dieter  --->
             // ANTON, BERTA, CLAUDIA, DIETER  --->
             // ANTON&BERTA, CLAUDIA&DIETER
-            string[] namen = { "Anton", "Berta", "Claudia", "Dieter" };
-            Verdichten(ref namen);
-            foreach (var item in namen)
+            string[] namen = { "Anton", "Berta", "Claudia", "Dieter","Ernst", "Friedrich"};
+
+            Transform += Grossbuchstaben;
+            Transform += Verdichten;
+
+            Transform(ref namen);
+            foreach (var item in  namen)
                 Console.WriteLine(item);
         }
     }
diff --git a/11 UebgDiTransformator/bin/Debug/netcoreapp3.1/11 UebgDiTransformator.dll b/11 UebgDiTransformator/bin/Debug/netcoreapp3.1/11 UebgDiTransformator.dll
index 659e1de0c9b3b016338748c34fc22ce80b21ae5b..7505b8e918cf7c7d0ec6e905c84b96b291e95e9c 100644
Binary files a/11 UebgDiTransformator/bin/Debug/netcoreapp3.1/11 UebgDiTransformator.dll and b/11 UebgDiTransformator/bin/Debug/netcoreapp3.1/11 UebgDiTransformator.dll differ
diff --git a/11 UebgDiTransformator/bin/Debug/netcoreapp3.1/11 UebgDiTransformator.pdb b/11 UebgDiTransformator/bin/Debug/netcoreapp3.1/11 UebgDiTransformator.pdb
index 9cd2e9e0053a123cd49819e75d4adda976d9c38c..e4f6d6e88051e6b62243db55460f3e7e18e5968a 100644
Binary files a/11 UebgDiTransformator/bin/Debug/netcoreapp3.1/11 UebgDiTransformator.pdb and b/11 UebgDiTransformator/bin/Debug/netcoreapp3.1/11 UebgDiTransformator.pdb differ
diff --git a/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.csprojAssemblyReference.cache b/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.csprojAssemblyReference.cache
index 8a5ef041ae8402be96bf3fc66b33aedfc9a2f5c5..a0fbfd12797557adefa2aaaacd9d5126dec64303 100644
Binary files a/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.csprojAssemblyReference.cache and b/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.csprojAssemblyReference.cache differ
diff --git a/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.dll b/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.dll
index 659e1de0c9b3b016338748c34fc22ce80b21ae5b..7505b8e918cf7c7d0ec6e905c84b96b291e95e9c 100644
Binary files a/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.dll and b/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.dll differ
diff --git a/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.pdb b/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.pdb
index 9cd2e9e0053a123cd49819e75d4adda976d9c38c..e4f6d6e88051e6b62243db55460f3e7e18e5968a 100644
Binary files a/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.pdb and b/11 UebgDiTransformator/obj/Debug/netcoreapp3.1/11 UebgDiTransformator.pdb differ
diff --git a/11Aufgabe1Posts/Program.cs b/11Aufgabe1Posts/Program.cs
index 6456f46997c5f8094abe56563f1f513ba7c3b4f8..994f8f4123afe8fb4a731b2e269cb399813944dd 100644
--- a/11Aufgabe1Posts/Program.cs
+++ b/11Aufgabe1Posts/Program.cs
@@ -119,8 +119,8 @@ namespace Aufgabe1Posts
             }
             Console.WriteLine("----------------");
             //postList -= new string("Max");
-            postList -= "Moritz";
-            foreach (Post post in postList)
+            postList-="Moritz";
+            foreach (Post post in postList-"Max")
             {
                 Console.WriteLine(post);
             }
diff --git a/11BinTreePersVerwaltung/BinTree.cs b/11BinTreePersVerwaltung/BinTree.cs
index f256f0db4e7a2ad90d33737cce4c1d2eedadd50d..18e9b8c4272ad2e9667ed1c55fa374c7470d7e5f 100644
--- a/11BinTreePersVerwaltung/BinTree.cs
+++ b/11BinTreePersVerwaltung/BinTree.cs
@@ -89,20 +89,19 @@ namespace _11BinTreePersVerwaltung2
                 if (right != null)
                     right.print();
             }
-
         }
         Node root = null;
+        public void Print()
+        {
+            if (root != null)
+                root.print();
+        }
 
         public IEnumerator GetEnumerator()
         {
             foreach (T item in root.enumerate())
                 yield return item;
         }
-        public void Print()
-        {
-            if (root != null)
-                root.print();
-        }
 
         public void Insert(T Data)
         {
@@ -139,9 +138,6 @@ namespace _11BinTreePersVerwaltung2
                 } while (!found);
             }
         }
-        
-    }
-    class BinTree
-    {
     }
+    
 }
diff --git a/11BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.exe b/11BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.exe
index 3780a900871090a8fe025d86a2849d94513f7e7f..73efe1519c33f6ed4260c3f18bb276bbbe0962d6 100644
Binary files a/11BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.exe and b/11BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.exe differ
diff --git a/11BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.pdb b/11BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.pdb
index f7ea6d1313481eabf38700cafbfd6062a2be96f5..52a0591b43b458bf3e9deb1b1f28acd6cc094cde 100644
Binary files a/11BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.pdb and b/11BinTreePersVerwaltung/bin/Debug/11BinTreePersVerwaltung2.pdb differ
diff --git a/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung.csprojAssemblyReference.cache b/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung.csprojAssemblyReference.cache
index 2ccb88b97552ae15afdcd5effc3c7f157699cb6f..24df8ab71c7fe300bafe3814e087f18338735c85 100644
Binary files a/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung.csprojAssemblyReference.cache and b/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung.csprojAssemblyReference.cache differ
diff --git a/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.exe b/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.exe
index 3780a900871090a8fe025d86a2849d94513f7e7f..73efe1519c33f6ed4260c3f18bb276bbbe0962d6 100644
Binary files a/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.exe and b/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.exe differ
diff --git a/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.pdb b/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.pdb
index f7ea6d1313481eabf38700cafbfd6062a2be96f5..52a0591b43b458bf3e9deb1b1f28acd6cc094cde 100644
Binary files a/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.pdb and b/11BinTreePersVerwaltung/obj/Debug/11BinTreePersVerwaltung2.pdb differ
diff --git a/11Enumerable/Program.cs b/11Enumerable/Program.cs
index d925b9a210455cacd55d4e382832829a4df74ce8..b3fa7f42aebe0d172fe573f23287ec8faf36ba72 100644
--- a/11Enumerable/Program.cs
+++ b/11Enumerable/Program.cs
@@ -5,6 +5,18 @@ using System.Linq;
 
 namespace _11Enumerable
 {
+    /*
+     * foreach benötigt IEnumerator GetEnumerator --> Rückgabetyp object oder 
+     *                  IEnumerator<T> GetEnumerator()  --> Rückgabetyp T
+     * IEnumerable-Interface enthält nur eine Methode: IEnumerator GetEnumerator();
+     * IEnumerable<T> enthält die Methode IEnumerator<T> GetEnumerator(), 
+     *                erbt aber auch IEnumerable, benötigt somit ZUSÄTZLICH IEnumerator GetEnumerator
+     * LINQ benötigt IEnumerable, akzeptiert aber auch IEnumerable<T>, da dies ja auch
+     *                IEnumerator GetEnumerator enthält
+     * Bei Angabe von :IEnumerable<T> verwenden sowohl foreach als auch LINQ IEnumerator<T> GetEnumerator
+     * -->  IEnumerator oder IEnumerator<T> bei GetEnumerator
+     * -->  IEnumerable oder IEnumerable<T> bei eigenen Aufzählungsfunktionen
+     */
     class Aufzaehlung<T> : IEnumerable<T>
     {
         T[] data;
diff --git a/11Enumerable/bin/Debug/netcoreapp3.1/11Enumerable.dll b/11Enumerable/bin/Debug/netcoreapp3.1/11Enumerable.dll
index b4f58e2384dc875be86b73de5442f896cbe4d652..a6fd77e3e3e6a2c2dab2024e55d64594e411e2a4 100644
Binary files a/11Enumerable/bin/Debug/netcoreapp3.1/11Enumerable.dll and b/11Enumerable/bin/Debug/netcoreapp3.1/11Enumerable.dll differ
diff --git a/11Enumerable/bin/Debug/netcoreapp3.1/11Enumerable.pdb b/11Enumerable/bin/Debug/netcoreapp3.1/11Enumerable.pdb
index a256c4cb10b8709a569a78ac7bbde9bc359def61..3f4a238f59e4d48180213646bbb3f6a11d8a34aa 100644
Binary files a/11Enumerable/bin/Debug/netcoreapp3.1/11Enumerable.pdb and b/11Enumerable/bin/Debug/netcoreapp3.1/11Enumerable.pdb differ
diff --git a/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.csprojAssemblyReference.cache b/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.csprojAssemblyReference.cache
index a0fbfd12797557adefa2aaaacd9d5126dec64303..75c16613d637ba1aee3feac158410536d13849e8 100644
Binary files a/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.csprojAssemblyReference.cache and b/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.csprojAssemblyReference.cache differ
diff --git a/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.dll b/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.dll
index b4f58e2384dc875be86b73de5442f896cbe4d652..a6fd77e3e3e6a2c2dab2024e55d64594e411e2a4 100644
Binary files a/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.dll and b/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.dll differ
diff --git a/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.pdb b/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.pdb
index a256c4cb10b8709a569a78ac7bbde9bc359def61..3f4a238f59e4d48180213646bbb3f6a11d8a34aa 100644
Binary files a/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.pdb and b/11Enumerable/obj/Debug/netcoreapp3.1/11Enumerable.pdb differ