版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_37813928/article/details/80559494
1.goto语句
C#语言中可以用来实现跳跃功能的命令主要有:break语句、continue语句和goto语句。
只要给予一个标记,goto语句就可以将程序跳转到标记所在的位置。
注意:
goto语句不可以跳到for循环中。
goto语句不可以跳到类的外面。
goto语句不可以退出try{}catch()finally{}语句。
2.委托与事件
①可以把委托看成一种特殊的对象类型,委托可以用于调用与委托返回值类型、参数个数、参数类型完全相同的方法。
//委托类型的定义格式
访问修饰符 delegate 返回值类型 委托类型名(参数列表);
//委托类型的定义中不包含函数体
public delegate void MyDelegate(String name);
关于委托定义与调用的实例如下:
public delegate void MyDelegate(string name);
class program
{
public static void ChineseGreeting(string name)
{
Console.WriteLine("早上好,"+name);
}
public static void Greeting(string name,MyDelegate wt)
{
wt(name);
}
static void Main(string[] arges)
{
MyDelegate delegate1=new MyDelegate(ChineseGreeting);
Greeting("张三",delegate1);
}
}
输出结果:
早上好,张三
还可以将多个方法赋给同一个委托,即将多个方法绑定到同一个委托。当调用这个委托的时候,将依次调用其所绑定的方法。
static void Main(string[] args)
{
MyDelegate delegate1;
MyDelegate delegate1=new MyDelegate(ChineseGreeting);
delegate1+=EnglishGreeting;
Greeting("张三",delegate1);
Console.ReadKey();
}
输出结果为:
早上好,张三
Good morning,张三
使用“delegate1-=EnglishGreeting;”可以解除方法到委托对象的绑定。
②事件的定义是基于委托的,也就是说需要先定义一个委托类型,然后在委托类型的定义之上定义一个事件。
事件的定义格式:
访问修饰符 delegate 返回值类型 委托类型名(参数列表);
访问修饰符 event 委托类型名 事件名;
每个事件都有一个调用列表,当事件被引发,调用列表中的方法将依次被执行。