C#控制语句
控制语句:
goto语句
If语句
do while循环 for循环 while循环
switch语句
三元运算符 <test?><resultIfTrue>:<resultIfFalse>
foreach语句:
例如:int[] arr={1,2,3};
foreach(int I int arr)
{Console.WriteLine(i);}
函数
两个关键字
static:
作用于变量:编译时分配内存,程序结束时释放
作用于函数:该函数只在本文件内可见
void:无类型,当函数不需要参数或返回值时使用
函数名一般采取PascaleCasing形式
static <returnType><FunctionName><paramType> <paramName>,…) { … return <returnValue>; }
函数参数引用
引用参数
Static void PlusOne(ref int val) { val = val+1; } Int a=0; PlusOne(ref a); Console.WriteLine(a);//输出100
Out 关键字,类似ref,但是ref使用前必须赋值
static void OutParam(int b,out int a) { a = b; } Out(100,out a); Console.WriteLine(a);//输出100
二者等价于
Static int ShowDouble(int val) { return val+1; }
重载与委托
函数重载:
可以创建多个同名函数,但是必须具有不同类型的参数或者不同个数的参数,不能创建仅仅返回值类型不同的函数
委托(delegate):把引用存储为函数,使得函数能像变量一样使用
delegate int ExampleDelegate(int a);//构建委托(一个函数框架) static int Plus(int a)//相当于构建一个实体 {return a+1; } ExampleDelegate a;//声明委托 //a = Plus; a = new ExampleDelegate(Plus);//对委托赋值 Console.WriteLine(a(1));//输出2
使用匿名方法
//匿名方法创建委托 delegate void MyDelegate(); static void Main(string[] args) { //创建委托 MyDelegate myDelegate1 = delegate(){ Console.WriteLine("hello delegate1"); }; myDelegate1(); for (;;) ; }
异常处理
try{
包含异常代码}
catch{
包含产生异常时要执行的代码
}
finaly{
包含总要执行的代码
}
关键字:
throw;向上抛出异常
Checked:对整型算术运算和转换显式启用溢出检查
如:static int maxIntValue = 12332131232;
checked
{ m*=m; }//溢出异常