练习需求分析:
一个数组string[] names = { "dfsSDF", "dfsFDSFE", "DFSDdsf" };
static void ProToUpper(string[] names)
{
for (int i = 0; i < names.Length; i++)
{
names[i] = names[i].ToUpper();
}
}
static void ProToLower(string[] names)
{
for (int i = 0; i < names.Length; i++)
{
names[i] = names[i].ToLower();
}
}
static void ProAddQuo(string[] names)
{
for (int i = 0; i < names.Length; i++)
{
names[i] = "\"" + names[i] + "\"";
}
}
2、再写一个含委托参数的改变字符串的总方法,包含委托参数,需要先定义一个委托类型,返回值及参数需要和前面方法一致;
public delegate void DelChange(string [] names);
static void Change(string[] names, DelChange del)
{
del(names);
}
3、调用显示
static void Main(string[] args)
{
string[] names = { "dfsSDF", "dfsFDSFE", "DFSDdsf" };
Change(names, ProToLower);
foreach (var item in names)
{
Console.WriteLine(item);
}
Console.ReadKey();
}
4、简化代码(封装)
public delegate string DelChange(string names);
static void Main(string[] args)
{
string[] names = { "dfsSDF", "dfsFDSFE", "DFSDdsf" };
Change(names, ProToLower);
foreach (var item in names)
{
Console.WriteLine(item);
}
Console.ReadKey();
}
static void Change(string[] names, DelChange del)
{
for (int i = 0; i < names.Length; i++)
{
names[i] = del(names[i]);
}
}
static string ProToUpper(string str)
{
return str.ToUpper();
}
static string ProToLower(string str)
{
return str.ToLower();
}
static string ProAddQuo(string str)
{
return "\"" + str+ "\"";
}
}
OK啦!!!!
因篇幅问题不能全部显示,请点此查看更多更全内容