C#核心关键字分享

今天分享一下C#部分关键字详解:

这里写目录标题

  • Goto
  • Return
  • Break
  • continue
  • object
  • Foreach 循环
  • params 参数数组
  • delegate 委托
  • 虚方法 virtual(声明) override(重写)
  • abstract抽象类
  • sealed 声明密封类和密封方法
  • 接口 Interface (无方法体,不能被实例化)

Goto

while (true) {
i++;
if (i == 5) {
goto myLable;
}
if (i == 9) {
Console.Write(“哇哇哇哇”);
}
}
myLable: Console.Write(“跳出循环,直接运行本行代码”);

Return

用于终止方法,表示方法运行结束,return后的剩余代码不执行.

Break

break语句会使运行的程序立刻退出包含在最内层的循环或者退出一个switch语句。由于它是用来退出循环或者switch语句,所以只有当它出现在这些语句时,这种形式的break语句才是合法的。

continue

continue语句和break语句相似。所不同的是,它不是退出一个循环,而是开始循环的一次新迭代。

object

所有类型的基类型,可以用来定义声明任何类型的数据。可以将任何类型的值赋给object类型的变量。

Foreach 循环

        float[,] array = { {13,23 },{22,44 },{ 25,89}};
        foreach (float temp in array)
        {
            Console.WriteLine(temp);
     }

params 参数数组

static int Sum(params int[] array)
{
int sum = 0;
for (int i = 0; i < array.Length; i++) {
sum += array[i];
}
return sum;
}
static void Main(string[] args)
{
int sum = Sum(12,23,34,63,43,12,5,6,18,5);
Console.WriteLine(sum);
}

delegate 委托

//定义委托和定义方法区别在于多了delegate关键字,且不需要函数体.
public delegate double MyDelegate(double num1, double num2);
class Program
{
static double Multiply(double num1, double num2)
{
return num1 * num2;
}
static void Main(string[] args)
{
MyDelegate de;//定义新变量
de = Multiply;
//当给一个委托的变量赋值时,返回值和参数列表必须一样.
double num = de(1.23, 4.63);
Console.WriteLine(num);
}
}

虚方法 virtual(声明) override(重写)

重写后的父类方法已改变。
C#核心关键字分享_第1张图片

隐藏方法
父类方法被隐藏,但仍然存在。
调用子类新方法:子类 boss = new 子类;boss.Move();
调用父类隐藏方法:父类 boss = new 子类;boss.Move();

C#核心关键字分享_第2张图片

abstract抽象类

继承抽象类的子类必须实现父类所有的抽象方法。
C#核心关键字分享_第3张图片

sealed 声明密封类和密封方法

C#核心关键字分享_第4张图片

接口 Interface (无方法体,不能被实例化)

定义接口
public interface IFlyHandler{
public void Fly();
}
实现接口
public class Type1Enemy:IFlyHandler{
}
定义一个接口在语法上跟定义一个抽象类完全相同,但不允许提供接口中任何成员的实现方式,一般情况下,接口只能包含方法,属性,索引器和事件的声明。
接口不能有构造函数,也不能有字段,接口也不允许运算符重载。
接口定义中不允许声明成员的修饰符,接口成员都是公有的

接口可以彼此继承,其方式和类的继承方式相同
public interface A{
void Method1();
}
public interface B:A{
void Method2();
}

你可能感兴趣的:(C#,Unity开发,c#)