Commit d79c6e4d authored by Uwe Wienkop's avatar Uwe Wienkop
Browse files

2020-06-09b

parent 0ec7518e
...@@ -280,7 +280,7 @@ namespace _02VerketteteListe_2 ...@@ -280,7 +280,7 @@ namespace _02VerketteteListe_2
//l1.Print(); //l1.Print();
l1.AddBeforeNth(2, "Bodo"); l1.AddBeforeNth(2, "Bodo");
l1.Print(); l1.Print();
foreach (string item in l1.Iterate(2)) foreach (string item in l1.Filter("er"))
{ {
Console.WriteLine($"foreach: {item}"); Console.WriteLine($"foreach: {item}");
} }
......
...@@ -115,18 +115,19 @@ namespace _06GenericList ...@@ -115,18 +115,19 @@ namespace _06GenericList
// an der gespeicherten Pos. weitergemacht. // an der gespeicherten Pos. weitergemacht.
} }
} }
//public IEnumerable<T> Filter(string pattern) public delegate bool MyFilter<V>(V daten);
//{ public IEnumerable<T> Filter(MyFilter<T> myTest) // string => bool, x => x.Contains("er")
// for (Element item = anf; item != null; item = item.next) {
// { for (Element item = anf; item != null; item = item.next)
// if (item.daten.Contains(pattern)) {
// yield return item.daten; // Merken dieser Ausführungsposition if (myTest(item.daten))
// // UND Zurückliefern von item.name yield return item.daten; // Merken dieser Ausführungsposition
// // Beim nächsten Aufruf von GetEnumerator() wird // UND Zurückliefern von item.name
// // an der gespeicherten Pos. weitergemacht. // Beim nächsten Aufruf von GetEnumerator() wird
// } // an der gespeicherten Pos. weitergemacht.
//} }
}
public void DeleteFirst() public void DeleteFirst()
{ {
// 1.Fall: Liste ist leer // 1.Fall: Liste ist leer
......
...@@ -24,11 +24,27 @@ namespace _06GenericList ...@@ -24,11 +24,27 @@ namespace _06GenericList
Liste<int> il = new Liste<int>(); Liste<int> il = new Liste<int>();
il.AddEnd(10); il.AddEnd(10);
il.AddEnd(20); il.AddEnd(20);
il.Print(); il.AddEnd(23);
il.AddEnd(21);
il.AddEnd(35);
il.AddEnd(40);
foreach (var item in il.Filter(x => x%2==0))
{
Console.WriteLine(item);
}
//il.Print();
Console.WriteLine("*****************");
Liste<string> sl = new Liste<string>(); Liste<string> sl = new Liste<string>();
sl.AddSorted("Emil"); sl.AddSorted("Emil");
sl.AddSorted("Anton"); sl.AddSorted("Anton");
sl.AddSorted("Berta");
sl.AddSorted("Dieter");
foreach (var item in sl.Filter(x=>x.Contains("er")))
{
Console.WriteLine(item);
}
Console.WriteLine("*****************");
sl.Print(); sl.Print();
Liste<Person> pl = new Liste<Person>(); Liste<Person> pl = new Liste<Person>();
......
...@@ -98,6 +98,7 @@ namespace _07KeyValueList ...@@ -98,6 +98,7 @@ namespace _07KeyValueList
terminverwaltung["03.06.2020"] = termineMi; terminverwaltung["03.06.2020"] = termineMi;
terminverwaltung["02.06.2020"].Add(new Termin("11:30 Teams", "BayernMINT")); terminverwaltung["02.06.2020"].Add(new Termin("11:30 Teams", "BayernMINT"));
// Pfannkuchen, Zutaten(Mehl, Milch, Eier), Zubereitung (Schritt1, Schritt2, ...) // Pfannkuchen, Zutaten(Mehl, Milch, Eier), Zubereitung (Schritt1, Schritt2, ...)
KeyValueListe<string, (List<string>, List<string>)> rezepte = new KeyValueListe<string, (List<string>, List<string>)>(); KeyValueListe<string, (List<string>, List<string>)> rezepte = new KeyValueListe<string, (List<string>, List<string>)>();
List<string> zutaten = new List<string>(); List<string> zutaten = new List<string>();
...@@ -149,7 +150,7 @@ namespace _07KeyValueList ...@@ -149,7 +150,7 @@ namespace _07KeyValueList
KeyValueListe<(int, int), string> t4 = new KeyValueListe<(int, int), string>(); KeyValueListe<(int, int), string> t4 = new KeyValueListe<(int, int), string>();
t4[(3, 6)] = "Kaffestunde"; t4[(3, 6)] = "Kaffestunde";
t4[(3, 5)] = "Vorlesung"; t4[(2, 5)] = "Vorlesung";
KeyValueListe<ComplexKey, string> t5 = new KeyValueListe<ComplexKey, string>(); KeyValueListe<ComplexKey, string> t5 = new KeyValueListe<ComplexKey, string>();
} }
......
...@@ -214,7 +214,6 @@ namespace _07KeyValueList ...@@ -214,7 +214,6 @@ namespace _07KeyValueList
//} //}
private Element ElementSearch(K key) private Element ElementSearch(K key)
{ {
for (Element item = anf; item != null; item=item.next) for (Element item = anf; item != null; item=item.next)
......
...@@ -6,8 +6,8 @@ namespace _08_UebgDiDatentypSet ...@@ -6,8 +6,8 @@ namespace _08_UebgDiDatentypSet
{ {
interface ISet<T> interface ISet<T>
{ {
public ISet<T> Intersect(ISet<T> set1, ISet<T> set2); public ISet<T> Intersect(ISet<T> set2); // Schnittmenge
public ISet<T> Union(ISet<T> set1, ISet<T> set2); public ISet<T> Union(ISet<T> set2); // Vereinigungsmenge
public IEnumerable<T> GetEnumerator(); public IEnumerable<T> GetEnumerator();
public bool Contains(T item); // true, wenn die Menge das Item bereits enthält public bool Contains(T item); // true, wenn die Menge das Item bereits enthält
public void Add(params T[] obj); public void Add(params T[] obj);
...@@ -16,7 +16,7 @@ namespace _08_UebgDiDatentypSet ...@@ -16,7 +16,7 @@ namespace _08_UebgDiDatentypSet
// Schreiben Sie eine Listenimplementierung des Datentyps Menge~Set, // Schreiben Sie eine Listenimplementierung des Datentyps Menge~Set,
// welche das obige Interface implementiert // welche das obige Interface implementiert
class ListSet<T> : ISet<T> class ListSet<T> : ISet<T> where T:IComparable<T>
{ {
} }
} }
...@@ -4,19 +4,29 @@ namespace _08DelegateIntro ...@@ -4,19 +4,29 @@ namespace _08DelegateIntro
{ {
class Program class Program
{ {
static void Tabelle(double von, double bis) // Firma-A hat dieses Programm erstellt
delegate double MyFunction(double x);
static void Wertetabelle(double von, double bis, MyFunction funktion)
{ {
for (double x = von; x <= bis; x += (bis - von) / 5.0) for (double x = von; x <= bis; x += 1)
Console.WriteLine($"{x,6:f2} | {Math.Sin(x),10:f4}"); Console.WriteLine($"{x,6:f2} | {funktion(x),10:f4}");
Console.WriteLine("-------------------"); Console.WriteLine("-------------------");
} }
static double MeinQuadrieren(double x) // funktion ist eine Variable, die eine Referenz auf eine Funktion übergeben bekommt
// Firma-B möchte es verwenden UND MODIFIZIEREN
static double MeinQuadrieren(double xx)
{ {
return x * x; return xx * xx;
} }
static double ZweiX(double x) => 2 * x;
static void Main(string[] args) static void Main(string[] args)
{ {
Tabelle(1, 6); Wertetabelle(1, 4, Math.Sin);
Wertetabelle(1, 3, MeinQuadrieren);
Wertetabelle(1, 3, ZweiX);
Wertetabelle(1, 3, delegate (double a) { return 3 * a; });
Wertetabelle(1, 3, b => 4 * b);
} }
} }
} }
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment