a.定义命名空间,避免歧义。比如:.netframwork中定义了多个TextBox类,可以用在windows窗体上,也可以用在web窗体上,如果没有定义一个namespace,就会产生歧义。namespace中放了又一定逻辑关系的类,通过将类放在里面,这个类名就自动具有了与命名空间名字相同的前缀,这样就将相同类名的类放在不同的命名空间中,就有效避免了命名冲突。
b.命名空间和类的关系形象记忆:操作系统中的目录和文件。
c.namespace定义方法自己查。
d.命名空间可以嵌套,即在一个命名空间中还可以定义另一个命名空间,这些嵌套的命名空间联合起来,就构成了类似文件路径的层次形式。
(3)using命令:
上面解决了命名冲突的问题:但是在编程的时候引用的时候就会有很大的麻烦,例如:Microsoft.Practices.EnterpriseLibrary.Data.Sql,这样引用就麻烦了,using命令就是这样产生的。
用using导入命名空间,这样就可以直接引用这个命名空间的类。例如:要引用System命名空间中类,就在程序的最前面写上:usingSystem;
(4)程序注释方法:自己查。
(5)main函数:
a.main函数是c#程序的入口点,不管是windows窗口程序还是控制台程序都是从main函数开始执行的。
c.main函数的返回类型只有两种:int,void。
d.main函数还可以有参数,设置命令行参数的方法有多种。
(6)为helloworl程序添加色彩
console.BackgroundColor=ConsoleColor.Yellow;//BackgroundColor:控制台颜色
console.ForegroundColor=ConsoleColor.DarkMagenta;//ForegroundColor:字体颜色
(7)调试应用程序:
主要的方法是设置断点:
4.本章小结:
本章对c#和vs集成环境进行了简单介绍,旨在能够对vs和c#程序结构有个初步了解。
第二章常量和变量
1、常量:
(1)常量定义
(2)常量初始化。
(3)常量的好处.
重点写:常量的好处:
a.使用常量是程序更加容易阅读和理解。
在串口通讯系统中,通过给串口发命令给串口所连接的设备,使设备执行相应的动作。串口命令常用整数来标识,例如:101:开始,102:读...,这样当很多的命名的时候,我们不能够记忆那么多,可以就通过,start标识101,read标识102,这样程序员看到就知道是什么意思了。
b.使用常量可以避免书写错误:
这点可能大家不信,例如:如果直接在程序中定义字符串“proce”,由于程序在编译的时候是不会检查变量字符串的,所以在书写错误的字符的时候就会在程序运行的时候才会出现。如果你定义成字符型的常量,程序就会在编译的时候报错了。
conststringproce="proce";
c.便于修改,类似于c语言中的#definea6.7878
2、变量
3.运算符和表达式
4.枚举
Essay:由于要体现学习的框架,所以我把所有的东西都罗列出来了,很多东西和我学的c/c++大同小异,所有我就省了。
第三章方法和数组
第四章流程控制语句
简要介绍:
1、条件控制语句:
if和switch...case
2.循环控制语句:
(1)while
(2)do...while
(3)for
(4)foreach:
a.在c#中,有一些对象是有0到多个类型相同的对象组成的,可称为集合类。最常见的集合类就是数组,除此之外还有ArrayList,Queue,DataTableCollection类等也是集合类。有时候需要对集合类中每个元素逐一进行某种操作,这种情况下就可以用foreach。
b.在我的经验里,foreach用于个数不肯定的东西,比如字符串(因为你不会那么傻去数字符的个数)。
foreach实例:
staticvoidMain(string[]args)
{
Console.WriteLine("输入一个字符串:");
stringsentence=Console.ReadLin();
string[]words=sentence.Split('',',',';','.');//按标点符号分割句子
foreach(stringwordinwords)
Console.WriteLine(word);
}
Console.ReadLine();
3.break和continue关键字(同于c++)
4.多重循环(循环的嵌套)
5.小结:
本章主要介绍了c#中的流程控制语句,主要包括分支(条件)控制和循环控制。简单分支可以用if...else语句实现,当分支很多时候可以用switch...case来实现。c#中经常用的循环有while,do...while,for,foreach。前三个循环控制是等价的,彼此可以替换,但在特定的环境中,可能使用一种循环结构比其他循环更直观,更容易理解。
第五章面相对象程序设计
1、面相对象的概念
(1)对象和类
举例说明:人是一个类,有属性和动作(方法),在具体了就是一个特定的对象了。
(3)封装:用户只管使用,不用考虑内部功能的实现细节。例如:人操作遥控器。
(4)继承:现实世界中的事物普遍存在“一般到特殊”的关系。例如:动物和哺乳动物
a.利用继承来描述显示生活中的“一般到特殊”的关系,是软件设计方法更贴近人们日常的生活思维方式。
b.通过继承,派生类自动继承了祖先类的属性和方法,提高了代码的复用。
(5)多态:同一个方法,由于所依附的对象不同而产生了不同的结果。
2、类
(1)定义
(2)构造函数和析构函数
(3)对象实例和使用
(4)c#的垃圾回收机制
a.程序中的对象是村在计算机内存中的,每次使用new运算符创建对象时,c#都从内存中为该对象分配一定的存储空间,但是,内存空间有限,必须使用过后的内存进行回收和重新使用。
b.回收机制有两种:c/c++中通过代码来释放;c#、java自动释放
c.c#中依靠CLR进行垃圾回收
3.c#属性
(2)属性的读写控制
(3)使用属性的好处:
隐蔽数据成员,提高程序健壮性(非法输入的控制),灵活性。
4.重载:
(1)重载的意义:
------------------------------------------------------------------------------------------------------------
学习进度:学到55页了。
学习建议:第二次学习的时候先复习先学习的东西,这样才不会忘。