示例#1
0
 public static bool MySimpleWhere(Produkt p)
 {
     return(p.Preis > 700);
 }
示例#2
0
 public static void Demo2ByRef(ref Produkt p)
 {
     p       = new Produkt();
     p.Preis = 300;
 }
示例#3
0
 public static void Demo2(Produkt p)
 {
     p       = new Produkt();
     p.Preis = 300;
 }
示例#4
0
        static void Main(string[] args)
        {
            Trace.Listeners.Add(new TextWriterTraceListener(
                                    File.CreateText(@"c:\workshops\log.txt")));
            Trace.AutoFlush = true;


            Debug.WriteLine("Hello from Debug");
            Trace.WriteLine("Hello from Debug");
            Trace.TraceInformation("Info");
            Trace.TraceError("Error");
            Trace.WriteLine("Hello World");



            Produkt produkt = new Produkt();

            produkt.Bezeichnung = "Handy";
            produkt.Preis       = 120;

            var nettoPreis = produkt.CalcNettoPreis(abzug: 200, steuersatz: 10);

            int i = 12;

            Demo1(i);
            Demo2(produkt);

            Demo1ByRef(ref i);
            Demo2ByRef(ref produkt);

            int f;

            DemoOut(out f);

            int z;

            bool erfolgreich = int.TryParse("12", out z);

            Produkt pNeu = CreateProdukt(); //Fabriksmethoden

            int ergFunctionPlus = RechnenPlus(10, 20);

            int ergFunctionMinus = RechnenMinus(10, 20);

            MyCalcDelegate del1;

            del1 = RechnenPlus;

            int ergV1Del = Rechnen(del1, 10, 20);

            del1 = RechnenMinus;

            int ergV2Del = Rechnen(del1, 10, 20);

            //Lambdas

            int ergV3Del = Rechnen((k, l) => k + l, 10, 20);

            List <Produkt> meineProdukte = new List <Produkt>()
            {
                new Produkt()
                {
                    ProduktId = 1, Preis = 200, Bezeichnung = "Auto"
                },
                new Produkt()
                {
                    ProduktId = 2, Preis = 700, Bezeichnung = "Auto a2"
                },
                new Produkt()
                {
                    ProduktId = 3, Preis = 900, Bezeichnung = "Auto a3"
                },
            };

            var alleProdukteTeurerAls700MitDelegate = meineProdukte.Where(MySimpleWhere);
            var alleProdukteTeurerAls700MitLambda   = meineProdukte.Where(einProdukt => pNeu.Preis >= 700);


            var alleDreier = meineProdukte.Where(pr => pr.Bezeichnung.Contains("A")).OrderBy(pr => pr.Preis);
        }