使用委托的C編程方法
在進(jìn)行C編程時,了解如何使用委托是很重要的。本文將介紹如何使用委托來處理字符串?dāng)?shù)組的轉(zhuǎn)換。創(chuàng)建新的C控制臺項(xiàng)目首先,在VS2015開發(fā)工具中點(diǎn)擊上方菜單欄的"文件",然后選擇"新建"->"項(xiàng)目"。在彈
在進(jìn)行C編程時,了解如何使用委托是很重要的。本文將介紹如何使用委托來處理字符串?dāng)?shù)組的轉(zhuǎn)換。
創(chuàng)建新的C控制臺項(xiàng)目
首先,在VS2015開發(fā)工具中點(diǎn)擊上方菜單欄的"文件",然后選擇"新建"->"項(xiàng)目"。在彈出的對話框中選擇"Visual C項(xiàng)目",再選擇"控制臺項(xiàng)目",設(shè)置項(xiàng)目名稱并點(diǎn)擊確定,即可創(chuàng)建一個新的C控制臺項(xiàng)目。在項(xiàng)目創(chuàng)建完成后,會自動生成一些文件,其中包括Program.cs文件,這是程序的入口文件,文件的內(nèi)容也會在左側(cè)編輯區(qū)展示出來。
定義委托類
接下來,我們需要在命名空間下增加一個委托類聲明。在Program.cs文件中添加以下代碼:
```
using System;
using ;
using ;
using System.Text;
using ;
namespace CAwt{
public delegate string ChangeString(string str);
class Program
{
static void Main(string[] args)
{
}
}
}
```
創(chuàng)建處理字符串的方法
為了實(shí)現(xiàn)對字符串?dāng)?shù)組的轉(zhuǎn)換操作,我們需要先創(chuàng)建幾個方法。在Program.cs文件中添加以下代碼:
```
using System;
using ;
using ;
using System.Text;
using ;
namespace CAwt{
public delegate string ChangeString(string str);
class Program
{
static void Main(string[] args)
{
}
static string ToUpperFun(string str)
{
return ();
}
static string ToLowerFun(string str)
{
return ();
}
}
}
```
在這里,我們定義了兩個方法:ToUpperFun方法將傳入的字符串轉(zhuǎn)換為大寫字母并返回,ToLowerFun方法將傳入的字符串轉(zhuǎn)換為小寫字母并返回。
定義使用委托的方法
接下來,我們需要定義一個使用到委托對象的方法。該方法接收一個委托對象作為參數(shù),實(shí)際上賦給委托對象的實(shí)參就是上一步定義的方法名。在Program.cs文件中添加以下代碼:
```
using System;
using ;
using ;
using System.Text;
using ;
namespace CAwt{
public delegate string ChangeString(string str);
class Program
{
static void Main(string[] args)
{
}
static void StringFun(string[] names, ChangeString deleg)
{
for (int i 0; i < names.Length; i )
{
names[i] deleg(names[i]);
}
}
static string ToUpperFun(string str)
{
return ();
}
static string ToLowerFun(string str)
{
return ();
}
}
}
```
在StringFun方法中,除了一個數(shù)組參數(shù)外,其他參數(shù)是一個委托對象。該方法的作用是遍歷整個數(shù)組,并對每個數(shù)組元素應(yīng)用委托對象所指定的方法進(jìn)行處理。
調(diào)用委托方法
最后,在main函數(shù)中調(diào)用上一步定義的方法,傳入一個字符串?dāng)?shù)組,并指定一個委托對象作為參數(shù)。在Program.cs文件的main函數(shù)中添加以下代碼:
```
using System;
using ;
using ;
using System.Text;
using ;
namespace CAwt{
public delegate string ChangeString(string str);
class Program
{
static void Main(string[] args)
{
string[] strs { "gglcDEdf", "gFKKKDfds", "fdsDKLnds" };
ChangeString deleg ToUpperFun;
StringFun(strs, deleg);
foreach (string item in strs)
{
Console.WriteLine(item);
}
();
}
static void StringFun(string[] names, ChangeString deleg)
{
for (int i 0; i < names.Length; i )
{
names[i] deleg(names[i]);
}
}
static string ToUpperFun(string str)
{
return ();
}
static string ToLowerFun(string str)
{
return ();
}
}
}
```
運(yùn)行程序,點(diǎn)擊工具欄的啟動按鈕,在Windows命令行窗口中查看結(jié)果??梢钥吹?,成功將字符串?dāng)?shù)組的內(nèi)容全部轉(zhuǎn)換成大寫字母。委托的好處在于只需要簡單更改一步傳入的參數(shù)就可以替換成其他方法來進(jìn)行處理。