C#和C++的区别

Posted 国土飞扬

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C#和C++的区别相关的知识,希望对你有一定的参考价值。

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方法对属性的值进行读写。访问属性值得语法和访问字段的语法基本一样,使访问属性就像访问字段一样,符合习惯。
————————————————
                                                                                                    声明:「cuit-xiaofei」的原创文章


以上是关于C#和C++的区别的主要内容,如果未能解决你的问题,请参考以下文章

在 windows mobile 上使用 C# 和 C 或 C++ 之间的区别

C#和C++的区别

C#与C++的区别总结

C#和C++的区别 计算机2级为啥不包括C#

C,C++,C#区别

“C++ void Pointer”和“C# var”之间的区别