1.switch语句:C#中每一个case语句后面都必须有break语句,包括default语句,省了之后会报错。除非以下情况:一个case语句为空,就可以从这个case语句跳到下一个case语句,如:
switch(score) { case 10: case 9:grade = ‘A’;break; case 8:grade = ‘B’;break; … default:grade = ‘D’;break; } C++中的switch语句case后面的break可以省略,default后面可以没有break。2.数组:C#中数组的定义和C++中不同,体现在“[]”在数组名的前面:一维数组定义:
int[] num = new int[5]; 二维数组的定义: int[,] num = new int[5,5]; 多维数组的定义类似于二维数组的定义,在中括号内添加对应的“,”即可; 此外,C#中的多维数组中每个元素的长度可以不相同: int[,] num = new int[3][]{{1},{2,3},{4,5,6}}; C#中一维数组的使用和C++没什么区别,区别体现在多维数组的使用: int[,] num = new int[3][]{{1},{2,3},{4,5,6}}; num[2,2] = 7;//用”,”来指定位置; 3.foreach循环:这是C#中才有的,C++没有;froeach循环每次得带数组中的一个元素,他把每个元素的值放在int型的变量里,然后执行一次循环迭代: //假定num是int型的一维数组; foreach(int i in num) { Console.WriteLine(i); } 这里也可以用类型推断功能: //假定num是int型的一维数组; foreach(var i in num) { Console.WriteLine(i); } 4.class:C#中类的定义前面可以有类修饰符,包括:new,public,protected,internal,private,abstract和sealed,C++类的定义前面没有类修饰符;C#中的类只能单继承,C++中类可以多继承。 5.C#类的属性:属性不是字段,但必然和类中的某个或某些字段相联系,属性定义了得到和修改相联系的字段的方法。C#中的属性更充分地体现了对象的封装性,不直接操作类的数据内容,通过访问器进行访问,借助于get和set方法对属性的值进行读写。访问属性值得语法和访问字段的语法基本一样,使访问属性就像访问字段一样,符合习惯。