c# 基础

来源:互联网 发布:电脑翻墙软件 编辑:程序博客网 时间:2024/05/24 03:54
dll 之前看到这种文件总是一种怪怪的感觉,因为十分不了解它是用来做什么的。

今天我们来看看dll文件和exe文件的差别

exe文件是可执行文件,dll文件中也是和exe相同的可直接被机器执行的机器代码,但是dll不能单独执行,只能直接或间接的被exe等可执行文件调用。之所以将原本应就包含在exe等可执行文件中的某些函数分离了出来,是因为这些可能是会被几个程序共同用到的代码段,亦或是为了之后程序的升级维护的方便。这部分被分离出来的代码段只有在可执行文件在用到时才会来链接,因此取名动态连接库(DLL)。



C#真是一种极为纯粹的面向对象语言那。

在C#中完全抛弃了之前C++中还保留的面向过程的痕迹,在C#中定义变量和实例化对象其实是相同的如 int a; 等价于 int a=new int();

在此可以ps一下c#中定义数组的小小改动,int [5] array; 或 int [] =new int[5]; 这样是C#所有语法几乎都符合可面向对象的思想。将中括号紧跟到了数据类型的后面,显得根问科学,显得int[] 也是一种数据类型 ,理解起来比C\C++都更为科学,不是嘛!



C#中增加了internal的访问权限

增加了专用于数组等集合遍历的foreach

new是一个亮点,new只用于引用型数据类型的实例化(在堆区开辟内存)直接调用构造函数,使得整个实例化对象的过程比C++个问清晰明了。



null的ascII码是0,绝不是数字0

null指针是内存的第0位,无类型(内存中特意空出0位不使用的)。将指针指向null又称将指针悬空,是当指针临时不用时的一种安全做法。

指针分两部分,一部分为地址值即变量首地址,另一部分为指针类型,也是变量类型,即告诉编译器从刚刚的首地址开始应如何访问接下来的地址。

至于指针和引用的区别,指针有自己的内存空间,引用没有自己的内存空间。也就是说指针可以不断修改其指向的内存地址(只要变量类型和指针类型相同即可,当然这也正是指针的不安全之处),引用只是变量的一个别名,只能在定义时初始化,之后便不能在进行修改,之后对引用做的任何操作都等同于引用初始化时多对应的变量。



C#在定义类时,不强制要求在大括号后添加分号,一般做法也是不加的。


C#程序是利用命名空间组织起来的。

<补充一句:逻辑上C#程序是靠命名空间组织起来的,物理上C#程序是靠程序集组织起来的>

在同一个命名空间中不允许有名称相同的类,而且只要是在同一个命名空间按中则可以引用这个命名空间中所有的类(淡然前提是在同一个项目中)。命名空间就如同对城市进行分区便于管理一样的道理,如欲引用其他命名空间中的类就要在前面贯命名空间,如 命名空间名.类名 C#是纯粹的面向对象语言,所有的东西都是类,他们之间的相互引用就是用命名空间进行组织的。就如同你要寄信请求别人办事,你要写清楚 省.市.区.姓名 才能准确找到这个人一样! C#中的所有逻辑都是这样的,系统提供的原有类库system.Data 等也是相同的道理。 在此我们说明一个问题 如上面举的例子 System.Data 这个和我们在东软的代码中看到的 xsgzc.DLL 是不同的,这里我们的这个虽然中间带点但是,和System.Data是决然不容的 这里我们的 xsgzc.DLL 就是我们的命名空间的名字只是在名字中间加上了点而已,儿System.Data 则是真正的表示了如我们上面多说的如分省分市分区一样的层次关系,键入system点点后后面会出现它下层的所有命名空间和这个命名空间直属的类等,这才是我们这个标题的含义(我们那样只是一种看上去有层次的命名方法,不要混淆)。C#程序是利用命名空间组织起来的。

0 0
原创粉丝点击