




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、学习c#视频有几天了,看完其语言基础之后,我对c#语言基础做了一个总结,来巩固所记的知识,同时希望能给你帮助。 最近一直在看c#视频,开始时看不懂,后来找师傅讨论了一下,自己重新看是有感觉,所以又重新开始。针对这两天的学习对c#语言基础做一下总结。 数据类型 构成:数据类型,常量和变量,运算符和表达式,数组、结构和枚举 数据类型包括值类型、引用类型和装箱以及拆箱。值类型数据存储在栈中。栈:它是用于存储固定长度的数据,例如int
2、(每个int占用四个字节),每个程序在执行时都有自己的堆栈,其他程序不能访问该堆栈。 引用类型数据存储在堆中。堆:是由new分配的内存,一般速度比较慢,而且容易产生内存碎片,不过用起来最方便。(虽然对于堆得解释字数也不多,但是始终感觉堆理解其堆来有点儿抽象,不怎么明白。) 值类型 值类型就是一个包含实际数据的量。当我们定义一个值类型的变量时,c#会根据它声明的类型,以堆栈方式分配一块儿相应的存储区域给这个变量。(这里对于堆栈的理解只能是有一点,但是还表达不出来,希望高手指点。)
3、 值类型包括:简单类型、枚举类型和结构类型。 简单类型 在C#中出现的简单类型共享一些特性。第一,它们都是.NET系统类型的别名。第二,由简单类型组成的常量表达式仅在编译时而不是运行时受检测。最后,简单类型可以按字面被初始化。以下为C#简单类型归类: 简单类型是系统预置的,分为整数类型、浮点类型、小数类型(decimal类型)、字符类型和布尔类型。提高班第一年有一些VB的基础,这里我感觉可以和
4、VB比较记忆。 通过比较我们可以发现。1. VB中整型、长整型、字节型和C#整型所表示的意思(范围)是一致。2. VB中单精度和双精度和C#浮点型所表示的意思(范围)是一致的。3. VB的货币型和C#小数型也是相似的。(不过,很明显C#所表示的货币范围远远超过了VB货币型所表示的范围)4. VB和C#同样都具有字符串类型和布尔型5. 明显不同的
5、是vb特有日期型。有了VB的基础理解C#没有什么困难。欠缺的只是对于它们的熟练程度。 结构类型 把一系列相关的信息组织成为一个单一实体的过程,这就是创建一个结构的过程。csharp <span style="font-size:18px;"> struct person string m_name; /姓名
6、 int m_age; /年龄 string m_sex; /性别 </span> 枚举类型 主要用于表示一个逻辑相关联的项和组合。使用关键字enum来定义。csharp <span style="font-size:1
7、8px;"> enum Weekday Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday </span> 引用类型 引用类型的变量不存储他们所代表的实际数据,而是存储实际数据的引用。引用类型分两步创建:首先在堆栈上创
8、建一个引用变量,然后再堆上创建对象本身,在把这个内存的句柄(内存的首地址)赋给引用变量。 例子:csharp <span style="font-size:18px;"> String S1,S2; S1=”ABCD”; S2=S1; </span>
9、; 解释:s1和s2都是指向字符串的引用变量,s1的值是字符串“ABCD”存放在内存地址中,这个就是对字符串的引用,两个引用型变量之间的赋值,使得s1和s2都是对“ABCD”的引用。 引用类型包括:class(类)、interface(接口)、数组、delegate(委托)、object和string。 拆箱和装箱 值类型与引用类型之间的转换被称为装箱与拆箱。装箱和拆箱是c#类型系
10、统的核心。我们通过装箱和拆箱操作可以轻松的实现值类型和引用类型的相互转换。 例如:csharp <span style="font-size:18px;"> Int Num=123; /将123值赋给int型变量Num Object p=Num; /装箱动作
11、0;Int q=int(p) /拆箱动作 </span> 常量和变量 常量就是程序运行期间其值不会改变的量。 变量是在程序运行过程中其值可以改变的量。 运算符和表达式 算数运算符: 关系运算符:
12、 逻辑运算符(与(&&) 或(|)非(!): 赋值运算符: 条件运算符: 条件运算符是一个三元运算符,可以看成一个ifelse的简化形式。 格式为:条件?真:假
13、0; 举例: 在控制台中输入以下代码:csharp <span style="font-size:18px;"> int x = 10; int y = 15; int z; &
14、#160; Console.WriteLine (z = x > y ? x : y); </span> 结果如图,很明显显示的是y说明是假。 流程控制 条件语句 If语句 句式: 第一种:csharp <sp
15、an style="font-size:18px;"> If (条件)语句;</span> 第二种:csharp <span style="font-size:18px;"> if (条件) 语句块 Else
16、160; 语句块 </span> 此外在if中还可以嵌套if语句。 Switch语句 Switch是一个多分支结构的语句。语法结构为: csharp &
17、lt;span style="font-size:18px;"> switch (表达式) Case常量1: 语句序列1; &
18、#160; Break; Case常量2: 语句序列2; Break;
19、 Default: 语句序列n; Break; </span> 循环语句 &
20、#160; While语句csharp <span style="font-size:18px;"> While (表达式) 循环体语句块 </span> Do while语句csharp
21、;<span style="font-size:18px;"> Do 循环体语句块 while (表达式); </span> For 语句csharp <span style="font-size:18px;"&g
22、t; For (表达式1;表达式2;表达式3) 循环体语句 </span> 其中表达式1是设置循环控制变量的初值,表达式2时布尔类型的表达式,表达式3是设置循环控制变量的增值(正负皆可)。PS:3个表达式都是可选的,默认表达式时,其后的分好“;”不能省。
23、 Foreach语句 Foreach语句是C#新引入的,它表示收集一个集合中的各元素,并针对各元素执行内嵌语句。 语法格式:csharp <span style="font-size:18px;"> Foreach (类型 标示符 in 集合表达式)语句;</
24、span> 标示符是指foreach循环的迭代变量,它只在foreach语句中有效,并且是一个只读局部变量,也就是说在foreach语句中不能改写这个迭代变量。 集合表达式是指被遍历的集合,例如数组。 举例:csharp <span style="font-size:18px;">
25、;int m = 0; string mystring = "fsofknwlsnfoaafdagadf" foreach (char mychar in mystring)
26、160; if (mychar = 'a') m+; Console.WriteLine("字符串中总共有0个a&quo
27、t;, m); </span> 结果如图: 跳转语句 跳转语句用于改变程序的执行流程,转移制定之处。用于特定的上下文环境之中。Continue语句 Continue语句只能用于循环语句中,它的作用是结束本轮循环,不再执行余下的循环体语句,对while和do_while结构的循环,在continue执行之后,就立刻测试循环条件,以决定循环是否继续下去;对for结构循环,在continue执行之后,先求表达式3(循环增量
28、部分),然后再测试循环条件。例如:显示1-100中能被3整除的整数。csharp <span style="font-size:18px;"> for (int n = 1; n <= 100; n+) if (n % 3 != 0)
29、 continue; Console.WriteLine(n );
30、60; </span> 结果: Break语句 Break语句也只能用于循环语句中或者switch语句中,如果在循环语句执行到break语句,则会导致循环立刻结束,跳转到循环语句的下一条语句。不管循环多少层,break语句只能从包含它的最内层跳出一层。如果在switch语句中执行到break语句,则立刻从switch语句中跳出,转到switch语句的下一条语句。看下面的例子:Return语句
31、 Return语句出现在一个方法内。在方法中执行到return语句时,程序中的执行流程转到调用这个方法处。如果方法没有返回值(返回类型修饰位void),则使用“return”格式返回;如果方法有返回值,那么使用“return表达式”格式,其后面跟的表达式就是方法的返回值。Goto语句 Goto语句可以将程序的执行流程从一个地方转移到另一个地方非常灵活。但正因为它灵活,所以容易造成程序结构混乱的局面,应该有节制地、合理使用goto语句。异常处理 程
32、序对异常的处理能使程序更加健壮。这里就不做更多的说明数组、结构和枚举 数组:数组是一种包含若干变量的数据结构,这些变量都具有相同的数据类型并且排雷有序,因此可以用一个统一的数组名和下标唯一的确定数组中的元素。 数组使用时要先声明然后在创建最后初始化数组,具体语法形式:csharp <span style="font-size:18px;">Type arrayname; Arrayname =new type
33、size val1,val2,val3,.valn </span> 或者结合起来写:csharp <span style="font-size:18px;">Type arrayname = new type size val1,val2,val3,.valn ;</span> Type可以是C#中任意的数据类型。 是表明后面的变量是一个数组类型,必须放在数组名之前。Arrayname 是数组名,遵循标识符的命名规范。
34、Size 表明数组原色的个数。Val 则表示数组的具体值。具体示例:例子1:csharp <span style="font-size:18px;">Int course = new int 10 1,2,3,4,5,6,7,8,9,10 / student 是一个含有10个int类型的数组。</span> 例子2:创建一个5个数的数组(100,50,60,70,99)并计算出他们的最大值和最小值。代码如下:csharp <span style="font-siz
35、e:18px;"> #region 数组的实例 int max; int min; int Num = new int5 100, 50, 60, 70, 99 ; max = min = Num0; for (int i = 0; i <= 4; i+)
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 投资项目可行性研究与项目评估
- 农业观光生态园
- 三农产品物流配送手册
- 绿色农产品生产技术推广与应用实践方案
- 车联网及大数据应用
- 电商行业直播带货模式创新与发展方案
- 校园广播系统投标方案
- 针对公司运营挑战的对策报告
- 电力设施节能减排操作规程
- 三农村公共服务设施信息化管理方案
- 作业层队伍建设重点业务课件
- DB31T 685-2019 养老机构设施与服务要求
- 二年级下册美术教案-第5课 美丽的花园|岭南版
- 人类进化史精品课件
- 鲁滨逊漂流记读后感PPT
- 总包单位向门窗单位移交门窗安装工程工作面交接单
- 设备供货安装方案(通用版)
- 公开招聘社区居委专职工作人员考试笔试、面试题集及相关知识(11套试题含答案)
- 《植物生理学》课件第三章+植物的光合作用
- 中国药膳理论与实践-药膳基本理论和技能
- 华东师大版七年级初一数学下册全套试卷(单元、期中、期末)
评论
0/150
提交评论