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

2020-06-24 Mi

parent bf01a8b7
......@@ -6,7 +6,9 @@ namespace _08_DelegateAnwendungen
class Program
{
delegate T MeineFkt<T>(T x);
//delegate bool MeinTest<T>(T x);
//delegate bool Predicate<T>(T x);
//delegate void Action<T>(T x);
//delegate void Action();
static T[] ApplyAll<T>(MeineFkt<T> fkt, params T[] werte)
{
T[] erg = new T[werte.Length];
......@@ -56,6 +58,8 @@ namespace _08_DelegateAnwendungen
Select(x => x.Contains("au"),
Select(x => x.StartsWith("C"), "Berta", "Claudia", "Cornelia", "Dieter"));
Select(x => true, 10, 20, 30, 40, 50, 60, 70, 80);
}
}
}
......@@ -10,10 +10,11 @@ namespace _10_Erweiterungsmethoden
/// Beachten Sie bitte, den Einsatz von "this" in der Spezifizierung des Parametertyps
/// Für Erweiterungsmethoden muss die Klasse und die Methode static
/// deklariert sein und vor dem Parameter, der ja später durch das
/// Objekt ersetzt werden soll, muss ein this stehen!
/// Objekt ersetzt werden soll, muss ein THIS stehen!
/// </summary>
public static int Abs(this int i)
{ return (i > 0) ? i : -i; }
public static T[] Sortieren<T>(this T[] iFeld)
{
Array.Sort(iFeld);
......
......@@ -10,3 +10,4 @@ C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\10 Erweiterungsmethoden\obj\D
C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\10 Erweiterungsmethoden\obj\Debug\netcoreapp3.1\10 Erweiterungsmethoden.dll
C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\10 Erweiterungsmethoden\obj\Debug\netcoreapp3.1\10 Erweiterungsmethoden.pdb
C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\10 Erweiterungsmethoden\obj\Debug\netcoreapp3.1\10 Erweiterungsmethoden.genruntimeconfig.cache
C:\Users\wienkop\source\repos\prog2-ss2020-wienkop\10 Erweiterungsmethoden\obj\Debug\netcoreapp3.1\10 Erweiterungsmethoden.csprojAssemblyReference.cache
......@@ -11,6 +11,8 @@ namespace _10_LINQ_Intro
/// </summary>
private static void AnonymousTypes()
{
var x = 123;
var r1 = new { Name = "Wienkop", Tel = "1614", Alter = 56 };
var r2 = new { Name = "Wienkop", Tel = "1614" };
......@@ -30,7 +32,7 @@ namespace _10_LINQ_Intro
/// </summary>
private static void Main(string[] args)
{
// AnonymousTypes();
//AnonymousTypes();
string[] wörter = {
"Anton", "Berta", "Charles", "Dieter", "Emma", "Franz", "Gustav", "Heiner", "Ida",
"Johanna", "Klaus", "Ludwig", "Manni", "Norbert", "Otto", "Paul", "Quasimodo", "Rainer",
......@@ -38,31 +40,31 @@ namespace _10_LINQ_Intro
};
var res = from w in wörter
where w.Length < 6
orderby w descending
select new { OrgName = w, GrossName = w.ToUpper(), Länge = w.Length };
//var res = from w in wörter
// where w.Length < 6
// orderby w descending
// select new { OrgName = w, GrossName = w.ToUpper(), Länge = w.Length };
foreach (var r in res)
{
Console.WriteLine(r);
}
//foreach (var r in res)
//{
// Console.WriteLine(r);
//}
Console.WriteLine("******************");
//Console.WriteLine("******************");
//var res2 = from w in wörter
// where w.Length < 6
// group w by w.Length;
var res2 = from w in wörter
where w.Length < 6
group w by w.Length;
//foreach (var group in res2)
//{
// Console.WriteLine("Länge: " + group.Key);
// foreach (string r in group)
// {
// Console.WriteLine(" " + r);
// }
//}
foreach (var group in res2)
{
Console.WriteLine("Länge: " + group.Key);
foreach (string r in group)
{
Console.WriteLine(" " + r);
}
}
}
}
}
{
"runtimeTarget": {
"name": ".NETCoreApp,Version=v3.1",
"signature": ""
},
"compilationOptions": {},
"targets": {
".NETCoreApp,Version=v3.1": {
"10 LINQ_Intro/1.0.0": {
"runtime": {
"10 LINQ_Intro.dll": {}
}
}
}
},
"libraries": {
"10 LINQ_Intro/1.0.0": {
"type": "project",
"serviceable": false,
"sha512": ""
}
}
}
\ No newline at end of file
Supports Markdown
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