数据结构论坛

首页 » 分类 » 常识 » 自学C井之路2枚举,数据结构,数组
TUhjnbcbe - 2023/6/9 20:52:00

曾几次开始自学C#而未坚持下来。我将再一次开始自学C#,并每日记录自学过程。以此督促自己坚持学习。同时也希望看到这篇文章的读者不吝赐教。

枚举

C#中的枚举与C++中没有区别,不做过多学习;

数据结构数据结构几乎与C++有些不一样

左(C#)右(C++)

上面那张图是C#和C++在结构定义方面的差别

在习惯C++模式之后使用C#的结构体一度感觉很烦,C#如果要改变变量的默认访问权限,必须给每个变量都得添加对应关键字。

使用上的烦恼就更大了;

在C++中使用结构体,一般我会将结构体全都定义到一个头文件当中,然后在其他要使用的文件中调用该头文件。这样既便于查看,也便于管理。

但在C#中是不存在头文件源文件一说的,如果要想C++中一样集中定义,只能将结构体定义到同一命名空间下的一个类中,通过类对象调用。

当然,这很可能是作为初学者的我用C++的思维在考虑C#才出现的问题。如果看到这篇文章的你知道我的错误,请不吝赐教。

数组谈到数组C#的一个超大优点就展示出来了——C#提供自动回收内存机制

对于新手来说,这是非常友好的编程方式。很所人之所以说C++难学,难用。C++需要程序员来控制内存的回收(当然这点对于一些牛牛而言是非常爽的,也是C++效率的保证之一)。

c++动态数组和C#数组对比

C#的数组很像C++里面的动态数组。但定义和使用要方便的多。

上图展示的是在C++中定义一个动态的二维数组,同样的功能在C#中只要一条语句就能解决

int[,]pixels=newint[x,y];

1
查看完整版本: 自学C井之路2枚举,数据结构,数组