Пример кода с использованием делегата в C sharp

Пример кода на C# с применением делегата

(в том числе преобразование строки в верхний и нижний регистр C# , замена символов, удаление символов)

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace ConsoleApplication5
{
    class Program
    {
        // делегата
        delegate string LinkStr(string str);

        class DelegateStr
        {
            // Преобразования строки в верхний регистр
            static string Upper(string line)
            {
                Console.WriteLine("Преобразование строки в верхний регистр");
                return line.ToUpper();
            }

            // Преобразования строки в нижний регистр
            static string Lower(string line)
            {
                Console.WriteLine("Преобразование строки в нижний регистр");
                return line.ToLower();
            }

            // Замена символа точки "." на запятую ","
            static string ReplacePointComma(string line)
            {
                Console.WriteLine("Замена символа точки на запятую");
                return line.Replace('.', ',');
            }
            // Удаление символа запятая ","
            static string RemoveComma(string line)
            {
                string str = "";
                Console.WriteLine("Удаление символа - запятая");
                for (int i = 0; i < line.Length; i++)
                    if (line[i] != ',')
                    {
                        str += line[i];
                    }
                return str;
            }

            static void Main(string[] args)
            {

                LinkStr DelegateStr = new LinkStr(Upper);

                string str_test;
                str_test = DelegateStr("Делегаты в C#.....");
                Console.WriteLine(str_test);
                Console.WriteLine();

                DelegateStr = new LinkStr(Lower);
                str_test = DelegateStr(str_test);
                Console.WriteLine(str_test);
                Console.WriteLine();

                DelegateStr = new LinkStr(ReplacePointComma);
                str_test = DelegateStr(str_test);
                Console.WriteLine(str_test);
                Console.WriteLine();

                DelegateStr = new LinkStr(RemoveComma);
                str_test = DelegateStr(str_test);
                Console.WriteLine(str_test);
                Console.WriteLine();

                Console.ReadKey();
            }
        }
    }
}


Результат работы программы:

результат работы программы

По сути, делегат это объект, который ссылается на метод.

762

Leave a Reply

Ваш адрес email не будет опубликован.