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 = ; 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 = ; i < names.Length; i++)
{
names[i] = names[i].ToUpper();
}
}
static void StrToLower(string[] names)
{
for (int i = ; i < names.Length; i++)
{
names[i] = names[i].ToLower();
}
}
static void StrSYH(string[] names)
{
for (int i = ; i < names.Length; i++)
{
names[i] = "\"" + names[i] + "\"";
}
} }
}