以前没接触过C#,最近对C#有一些需求,试着看了下,感觉和java一个模子刻出来似的。快速浏览了一本入门书。
读了基础部分,和java几乎一样,没啥可记的。本文记录几个不太一样的细节。
C#数据类型
C#数据类型按两个方面进行划分。
从内置与否来看,可以分为预定义类型(内置类型)和自定义类型。预定义类型就是编译器特别支持的类型,例如int,string,可以直接赋值进行实例化。自定义类型就是自定义的对象类型,需要通过new运算符来创建实例。
从数据的具体类型来看,可以分为值类型、引用类型、泛型参数、指针类型。值类型包含了大多数内置类型,以及struct类型、enum类型等自定义类型。引用类型 包括所有的类、数组、委托和接口类型,以及预定义的string类型。
过程与函数
过程与函数,两者在本质上并无区别,可统称为函数,但在细节上可以进行一些细分。一般而言,无返回值的称作过程,有返回值的称作函数。
C#定义过程和函数分为5个部分:作用范围(public、private)、是否静态(static)、返回类型(void、其他类型)、函数名称、参数列表。和java中的方法几乎一样。
using和namespace
这是目前为止看到的基本语法中,C#与java的最大区别了。C#中的namespace相当于java中的package,using相当于import。
以前,没学C#前直接看C#代码时,对这个所谓的命名空间感到特别别扭,当时就没兴趣往下看了,于是一直没想去看C#。没想到,它其实就是java中的package。可能是先入为主,还是觉得package简单又传神,namespace至今仍觉得别扭。
资源文件
C#项目中,可以添加资源文件来存储字符串或图片等信息用途。
Visual Studio中,可以通过【项目/添加新项/资源文件】添加资源文件,文件名后缀. resx。存储数据后,直接通过资源文件名.数据名称就可以调用,还挺方便的。
Windows API
C#项目,少不了要和微软操作系统的API打交道,常见的例如控制电脑上的各种程序或窗口。
电脑上的各种窗口都有自己的类名(ClassName)和句柄(Handle),句柄是识别窗口的唯一编号,同类窗口则拥有共同的类名。
通过Visual Studio提供的Spy++工具,可以很方便地查看屏幕上打开的窗口的类名和句柄等信息,有了这些基本信息,就可以通过FindWindow、SetWindowText等API函数对窗口进行控制了。
当然,除了操作窗口,还有很多其他功能,例如通过GetCursorPos函数可以获取鼠标在屏幕上的位置,等等。
公 众 号 :注意两个号的区别,小斯想(OneNote为主);cas01(知识管理理论及实践)。
温馨提示:本站发布的压缩包如需密码解压,若无特别说明,密码统一为:cas01.com
版权声明:本文为原创文章,版权归 小斯 所有,转载请保留出处。