c# 简单委托例子

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

namespace _05委托
{
    //声明一个委托
    public delegate string DelProStr(string str);//既可以有参数,也可以有返回值
    class Program
    {
        static void Main(string[] args)
        {
            //1、Test为什么可以作为参数传递
            //2、Test的参数为什么必须只能是object类型
            //Thread th = new Thread(Test);//委托

            string[] names = { "abCcDE", "FghIJkl", "mNOpqRST", "uvWXYz" };

            //创建了一个委托对象

            //在这new或者不new委托对象,编译的时候依然会new一个委托对象
            DelProStr del = SToUpper;//函数可以直接赋值给一个委托



            ProcessStr(names,del);
            //for (int i = 0; i < names.Length; i++)
            //{
            //    names[i] = del(names[i]);
            //}

            ////ProcessStr(names, SSYH);

            //foreach (string item in names)
            //{
            //    Console.WriteLine(item);
            //}
            Console.ReadKey();
            //1、统一 转成大写
            //2、统一的 转成小写
            //3、加双引号
        }

        static void ProcessStr(string[] names, DelProStr del)
        {
            for (int i = 0; i < names.Length; i++)
            {
                names[i] = del(names[i]);
                //names[i]=SToUpper(names[i]);
            }
        }

        static string SToUpper(string name)
        {
            return name.ToUpper();
        }

        static string SToLower(string name)
        {
            return name.ToLower();
        }

        static string SSYH(string name)
        {
            return "\"" + name + "\"";
        }


        static void StrToUpper(string[] names)
        {
            for (int i = 0; i < names.Length; i++)
            {
                names[i] = names[i].ToUpper();
            }
        }
        static void StrToLower(string[] names)
        {
            for (int i = 0; i < names.Length; i++)
            {
                names[i] = names[i].ToLower();
            }
        }
        static void StrSYH(string[] names)
        {
            for (int i = 0; i < names.Length; i++)
            {
                names[i] = "\"" + names[i] + "\"";
            }
        }


    }
}

 

posted on 2017-06-13 15:46  算顺网  阅读(267)  评论(0编辑  收藏  举报

导航