コード例 #1
0
        static void Main(string[] args)
        {
            //- Lav en Lambda Expression der tager imod en int og returnerer tallet fordoblet. Gem i en passende delegate, og kør.
            MultiplyDelegate del1 = x => x * 2;

            Console.WriteLine(del1(50));


            // - Lav en Lambda Expression der tager imod 3 floats og returnerer summen. Gem i en passende delegate, og kør.
            SumOfFloatsDelegate del2 = (x1, x2, x3) => x1 + x2 + x3;

            Console.WriteLine(del2(12.1F, 1.5F, 2.7F));

            //- Lav en Lambda Expression der ikke tager imod noget og returnerer "Hello World". Gem i en passende delegate og kør.
            TextMakerDelegate del3 = () => "Hello World";

            Console.WriteLine(del3());


            //Udfordring
            //addition
            MyFloatDelegate floatDelAddition = (num1, num2) => num1 + num2;

            Console.WriteLine(floatDelAddition(2.2f, 40f));

            //substraction
            MyFloatDelegate floatDelSubstration = (num1, num2) => num1 - num2;

            Console.WriteLine(floatDelSubstration(99.1f, 30.3f));

            //division
            MyIntDelegate intDelDivision = (num1, num2) => num1 / num2;

            Console.WriteLine(intDelDivision(10, 5));

            //Multiply
            MyStringDelegate stringDelMultiply = (text1, text2) =>
            {
                if (!int.TryParse(text1, out int int1))
                {
                    throw new ArgumentException("Argument must be number.", "text1");
                }
                if (!int.TryParse(text2, out int int2))
                {
                    throw new ArgumentException("Arguement must be a number.", "text2");
                }

                return((int1 * int2).ToString());
            };

            Console.WriteLine(stringDelMultiply("10", "20"));
        }
コード例 #2
0
        static void Main(string[] args)
        {
            //- Lav en delegate som returnerer void og tager imod ingen parametre. Kald denne.
            SomethingDelegate del1 = PrintHello;

            del1();

            //- Lav en anden delegate som returnerer float og tager imod ingen parametre. Kald denne.
            Something2Delegate del2 = GetHourOfTheDay;

            Console.WriteLine(del2());

            //- Lav en anden delegate som returnerer void og tager imod 3 parametere. Kald denne.
            AppendAndPrintInputsDelegate del3 = MasterAppender;

            del3("Rip", "Rap", "Rup");


            //Udfordring:
            var math = new Math();

            //int eksempel
            MyIntDelegate intDel = math.Add;

            Console.WriteLine(intDel(2, 3));

            //float eksempel
            MyFloatDelegate floatDelegate = math.Divide;

            Console.WriteLine(floatDelegate(12, 2));

            //string eksempel
            MyStringDelegate stringDelegate = math.Multiply;

            Console.WriteLine(stringDelegate("10", "10"));
        }
コード例 #3
0
        public void Start()
        {
            List <string> MyStringList = new List <string>();

            {
                MyStringList.Add("string1");
                MyStringList.Add("string2");
                MyStringList.Add("string3");
                MyStringList.Add("string4");
            };

            List <float> MyNumberlist = new List <float>();

            {
                MyNumberlist.Add(11);
                MyNumberlist.Add(5);
                MyNumberlist.Add(2);
                MyNumberlist.Add(55);
            };


            MyStringDelegate concatinator = list =>
            {
                string output = "";

                foreach (string word in list)
                {
                    output += word + ",";
                }
                return(output);
            };

            Console.WriteLine(concatinator(MyStringList));



            MyFloatDelegate numberAddition = list =>
            {
                float output = 0;

                foreach (float number in list)
                {
                    output += number;
                }
                return(output);
            };

            Console.WriteLine(numberAddition(MyNumberlist));

            MyFloatDelegate numberTimes = list =>
            {
                float output = 1;

                foreach (float number in list)
                {
                    output *= number;
                }
                return(output);
            };

            Console.WriteLine(numberTimes(MyNumberlist));
        }