1.c#语言和.NET的关系:
c#是一种运行在.NET Framework 平台下的编程语言,.NET可以将c#语言翻译成电脑可识别的机器语言, 并提供了C#运行所必须的环境.NET Framework类库以及CLR(公共语言运行时)。
2..NET的两种交互模式:
(1)C/S 模式:客户端和服务器端的交互模式。
B/S 模式:浏览器与服务器的交互模式。
(2)C/S 与 B/S 的区别:
. 硬件环境不同:
C/S 一般需要用户进行安装.Net 的环 境,而 B/S 一般只要有操作系统和浏览器就可以了。B/S 架构实现了跨平台(任何平台)。
对安全要求不同:
C/S 一般面向相对固定的用户群, 对 信息安全的控制能力很强,一般高度机密的信息系统采 用 C/S 结构适宜,
可以通过 B/S 发布部分可公开信息 B/S 建立在广域网之上, 对安全的控制能力相对弱, 可能面向不可知的用户。
处理问题不同:
C/S 程序和本地硬件、程序的交互性很 强,比如可以控制本机的其他程序、可以读写本地磁盘 文件、可以与硬件交互。
B/S 很难和本地硬件、程序、 文件进行交互,比如很难控制本机的其他程序、读写本地磁盘文件、与硬件交互
3.NET Framework 平台的介绍
公共语言运行时(CLR)
遵循公共语言架构的标准,能够使 C++、C#、VB 以及 JavaScript 等多种语言深度集成。CLR 从某种意义上理解 相当于 Java 中的 Java 虚拟机(JVM)。
基类库(BCL)
代表了.NET 框架的核心。不管人们开发何种应用程序, BCL 总是作为构建其他所有功能的起点。
公共语言规范(CLS)
公共语言规范是一组结构和限制条件,它是公共类型 系统的子集,它们一起定义了允许不同编程语言的标准集, 由这些编程语言编写的应用程序可以互操作。
4. Windows常用快捷键
Alt+F4:关闭当前运行程序、关机
Alt+tab:切换运行程序
Win+d:显示桌面
Win+e:打开我的电脑
Win+l:锁定计算机
Win+m:最小化所有电脑
Win+r:开启运行窗口
5. 常用DOS命令
D: 盘符切换到 D 盘(切换其他盘一样盘符+:+回车)
Dir D: 列出 D 盘下面的所有文件夹以及文件
MD New 在当前目录下面创建一个名为 New 的文件夹
RD New 删除当前目录下面的名为 New 的文件夹
CD D:\360\ 进入 D 盘下面的 360 文件夹中
CD 返回到当前文件夹的上层文件夹中
CD\ 返回根目录
Del *txt 删除当前目录下面所有的后缀名为 txt 的文件
CLS 清除控制台窗口
Exit 退出控制台窗口
6. 面向对象的计算机语言
①. 什么是对象
在使用面向对象的计算机语言的程序员眼里世间万物皆 是对象,例如大到地球、宇宙星空,小到细胞、尘埃等都视之 为对象。而具体的对象怎样解释呢?
对象是由属性、方法、事件组成。
- 属性:用来描述对象的形态外貌特征
- 方法:指对象的主动行为,天生具有的一些能力
- 事件:指对象的被动行为,天生并不具备这种能力,而 是受其他因素影响产生的能力
② 什么是面向对象
面向对象是针对计算机语言的一种归类,那么我们也可以 理解程序员,在代码的世界里使用面向对象的计算机语言,通 过实现属性、方法、事件来制造出自己想要的世界这就是面向 对象编程。
③ 什么是类
类,我们可以理解为对对象的一个归类,(例如现实生活中 我们对生物的分类有:动物类和植物类等等), 具有相同属性特征和行为的所有对象的一个抽象化归类。
④什么是命名空间
类似于 Java 中的包的概念,也可以称作类库,也就是类 的一个所在空间。为了避免类名冲突的一种方式。
7.C#标识符命名规则–驼峰 --帕斯卡
(1)帕斯卡命名法:组成标识符的所有单词首字母大写(适 用于:类、接口、方法命名)
(2) 驼峰命名法:组成标识符的第一个单词全部小写,之后 的所有单词首字母大写(适用于:变量命名)
8.计算机存储数据原理
- 计算机最终存储的是机器语言—二进制
- 十进制-十六进制-八进制-二进制
9.C#数据类型
值类型
(1)存储在堆栈中
(2)System.ValueType中派生
(3)直接存储其值
(4)空间小,调用速度快
(5)内存自动释放
(6)有结构体、枚举、可空类型
引用类型
(1)存储在堆中
(2).从System.Object中派生
(3).直接存储其值的引用指针
(4).空间大,调用速度慢
(5).由GC自动释放
(6).有object、string、集合、数组
10.C#属性赋值语法
属性的分类,最终结果:保证等号两边的数据属性类型一致
-
C#中预定义的15种:byte,sbyte int,uint long,ulong short,ushort float,double,decimal, char,string,bool,object
-
对枚举类型赋值:
1.1 枚举类型的定义
枚举的定义枚举类型定义的一般形式为: enum 枚举名{ 枚举值表};
在枚举值表中应罗列出所有可用值。这些值也称为枚举元素。
例如: 该枚举名为weekday,枚举值共有7个,即一周中的七天。凡被说明为weekday类型变量的取值只能是七天中的某一天。
1.2 枚举变量 如同结构和联合一样,枚举变量也可用不同的方式说明,即先定义后说明,同时定义说明或直接说明。 设有变量a,b,c被说明为上述的weekday,可采用下述任一种方式:
-
enum weekday{ sun,mou,tue,wed,thu,fri,sat };
enum weekday a,b,c;
或者为: enum weekday{ sun,mou,tue,wed,thu,fri,sat }a,b,c;
或者为: enum { sun,mou,tue,wed,thu,fri,sat }a,b,c;
-
11.C#运算符
算术运算符
数学运算
关系运算符
比较运算
逻辑运算符
and or
位运算符
按照数据的源码进行运算
12.C#类型转换
隐式转换:是 C# 默认的以安全方式进行的转换,其本质是小存储容量的数据类型转换为大存储量的数据类型
显示转换 :即强制转换(会造成数据丢失)这些转换是通过用户使用预定义的函数显式完成的。显式转换需要强制转换运算符。
-
Convert
-
int.Parse :将字符串强制转换成数字
-
ToString
-
(Char)XX
-
as
-
拆箱和装箱:装箱: 将值类型转换成引用类型----将小的包装成大的拆箱:将引用类型转换成值类型----将大的拆分成小的-----前提是先装箱 隐式转换 :这些转换是 C# 默认的以安全方式进行的转换
13.变量(全局变量、局部变量)、常量
(1)变量:
所谓变量,就是在程序的运行过程中其值可以被改变的量,变量的类型可以是任何一种C#的数据类型。所有值类型的变量都是在实际存在于内存中的值
C# 中提供的基本的值类型大致可以分为以下几类:
①整数类型 sbyte、byte、short、ushort、int、uint、long、ulong 和 char
②浮点型 float 和 double
③ 十进制类型 decimal
④布尔类型 true 或 false 值
⑤空类型 可为空值的数据类型
变量的初始化
变量数据类型 变量名(标识符)=变量值;
(2)常量:
所谓常量,就是在程序的运行过程中其值不能被改变的量。常量的类型也可以是任何一种C#的数据类型。
常量的初始化:
const 常量数据类型 常量名(标识符)=常量值;
eg:
const double PI=3.1415926;
const string VERSION="Visual Studio 2010";
14.C#流程控制语句
if
if…else
if…else if…
if的嵌套
switch
三元运算符
相等的比较
循环语句
for
while
do…while
foreach
循环终止语句:
continue:跳出当前循环进行下一次循环
break:跳出当前循环,进行当前循环之后的代码
return:跳出整个循环
15.数组、集合、泛型
简单数组
二维数组
集合
字典
泛型
哈希
队列
交错数组
数组:数组是用来存储数据的集合,通常认为数组是一个同一类型变量的集合;
集合:用于数据存储和检索的类;
#数组与集合的区别#
①数组是静态的,定长的,不能改变其大小,集合是不定长的,可根据其内容改变大小;
②数组声明其类型,集合不声明;
③数组是多维的,集合是一维的;
④数组存放类型只能是一种,集合不止一种
#可空类型#
C# 提供了一个特殊的数据类型,nullable 类型(可空类型),可空类型可以表示其基础值类型正常范围内的值,再加上一个 null 值。
例如,Nullable< Int32 >,读作"可空的 Int32",可以被赋值为 -2,147,483,648 到 2,147,483,647 之间的任意值,也可以被赋值为 null 值。类似的,Nullable< bool > 变量可以被赋值为 true 或 false 或 null。
16.枚举、结构、字符串
枚举:
枚举是一组命名整型常量。枚举类型是使用 enum 关键字声明的。
C# 枚举是值类型。不能继承或传递继承。
结构:
结构体是值类型数据结构。它使一个单一变量可以存储各种数据类型的相关数据。struct 关键字用于创建结构体。结构体是用来代表一个记录。
字符串:
string 关键字是 System.Object 的命名空间,
string是C#中的类,String是.net Framework的类,
string是关键字,String不是,也就是说string不能作为类、结构、枚举、字段、变量、方法、属性的名称,而String可以
StringBuilder属于引用类型
来自System.Text的命名空间,自身是类,使用时必须实例化,支持空参数构造,默认是空字符串,它是可变参数,初始化时,如果字符串长度超出初始化的大小时,
会开辟一个新的地址空间,将原来字符串的内容复制到新的空间中,再追加超出的长度,旧空间会自动销毁,引用新空间地址,新空间大小是旧空间大小的基础倍。
17.C#方法参数
有返回值
方法完成必须保证有一个指定类型的返回结果
无返回值
void类型
参数
形参
指方法声明时在方法小括号中声明的参数
实参
指方法被调用时所传递的参数
传参方式:
out参数:输出参数;ref参数:引用传参
相同点:
(1)两者都是用来修饰参数
(2)在定义和调用方法是都必须带上各自的关键字ref或out
不同点:
(1)ref必须在调用前进行初始化,而out必须在方法体内进行初始化
(2)ref有进有出,out只出不进
(3)ref则用在需要被调用的方法修改调用者的引用的时候,而 out适合用在需要retrun多个返回值的地方
C#方法重载、递归
方法的重载:方法名相同,参数列表不同(参数类型,个数)
方法的递归(斐波那契数列)
一个方法可以自我调用。这就是所谓的递归。
C#异常处理
try…catch…catch…
try:一个 try 块标识了一个将被激活的特定的异常的代码块。后跟一个或多个 catch 块。
catch:程序通过异常处理程序捕获异常。catch 关键字表示异常的捕获。
finally:finally 块用于执行给定的语句,不管异常是否被抛出都会执行。