版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、第一章:C#简介1.1 .什么是Net Framework特性:对操作系统、应用程序类型和语言的访问没有限制(通用类型系统、通用样式系统、CST)。包含:代码库,用于管理使用Net库开发的所有应用程序的执行。Net公共语言运行时(clr)MISL和JIT编译过程:C#代码完成Microsoft中间语言(msil)VS使用本机代码Just-In-Time编译器完成JIT汇编编译应用程序时创建的MSIL代码在可执行的应用程序文件(.exe)和其他应用程序使用的库(.dll)存储在包含的程序集中。除了MSIL代码外,还包括元数据(即程序集中包含的数据信息,也称为元数据)和可选资源(MSIL使用的声音
2、文件和图片等其它数据)。使用元信息可以使程序集完全自描述,并且不会导致无法将所需数据添加到系统注册表中的情况。运行应用程序所需的所有信息不需要安装在一个位置。您可以编写执行多个应用程序要求的任务的代码。通常,将这些可重复使用的代码放在所有应用程序访问的位置。在Net Framework中,这是global assembly cache(GAC)。为此,可以将包含代码的程序集放在包含该缓存的目录中。管理代码.使用Net Framework编写的代码在运行时托管。也就是说,CLR通过内存管理、安全处理、允许跨语言调试等来管理程序。在C#中,只能编写在托管环境中运行的代码,并且可以使用CLR的托管功
3、能。使Net与操作系统交互。垃圾回收利用通知:需要大量内存才能运行的代码应直接执行这些检查,而不是等待垃圾收集。链接使用MSIL语言编译的C#代码不一定包含在单独的文件中,您可以将应用程序代码放在多个源代码文件中,然后将其编译为一组程序。此过程称为链接。处理几个小文件的优点是比处理一个大文件容易得多。1.2什么C#强大的语言:在C#中比较C和高级功能(如直接访问和系统内存处理)的能力只能用于标记为“不安全”的代码。类型安全的语言:在类型之间转换时,必须遵守严格的规则。第3章:变量和表达式(P22)3.1 C#的基本语法区分大小写代码中的突出显示功能:#region Name#endregion
4、3.2变量3.2.1简单类型(P26)String中的字符数没有上限。使用占位符(格式字符串)的示例:Int myInteger=17String myString= blarblarconsole . writeline(“ 0 1 ”,myinteger,my string);3.2.2指定变量的名称(P30)预设变数命名规则:变数名称的第一个字元必须是字母、_或,后面的字元可以是字母底线或数字。命名惯例:Microsoft建议对简单变量使用camelCase惯例,对比较高级命名使用PascalCase。3.2.3文字面值(P31)逐字指定的字符串字面值: c : temp mydir m
5、y file . doc ;附注:字串是参照类型,其他类型是值类型,因此字串也可以指定空值。换句话说,字符串变量不参考字符串。3.2.4变量的声明和分配3.3表达式(P34)3.3.1数学运算符显示操作符的位置和影响。问:int var1,var2=5,var 3=6;Var1=var2 *-var3.var1的值是什么?如果将运算符A: 5*5=25置于操作数之前,则操作数在实际执行其他计算之前会受到运算符的影响;但是,如果将运算符置于操作数之后,则操作数在表达式计算完成后会受到运算符的影响。3.3.2赋值运算符(P38)3.3.3运算符的优先级3.3.4命名空间使用Using:1、简化生成
6、的命名空间中包含名称的访问,例如:Namespace LevelOne/name one defined;Using LevelOne/nameOne.2、作为using语句的一部分,为命名空间提供别名LevelOne命名空间中的代码使用LevelOne .将NameThree作为NameThree引用,LevelOne .将LevelTwo.NameThree引用为LT.LevelTwo.NameThree。如果Using语句声明如下:这使您可以对全局命名空间中的代码和LevelOne命名空间使用LT.NameThree。注意:using语句本身无法访问其它空间中的名称,除非命名空间中的代码
7、以某种方式链接到项目,或者该代码在该项目的源文件中定义,或者链接到该项目的其它代码中定义,否则Using语句可以轻松访问这些名称以减少代码量。第4章:流程控制(P44)4.1布尔逻辑条件布尔运算符和| |运算符与和|运算符的区别在于性能更好。如果第一个操作数为false,则不需要考虑第二个操作数的值。同样,如果第一个操作数为true,则|运算符直接返回true,而不考虑第二个操作数的值。和|的操作数始终计算。应尽可能使用和| |。4.1.1位运算符Ab相当于a/2,为b次舍弃其馀部分。4.1.2布尔赋值操作符(P50)=,|=,=,=,=。4.1.3更新运算符的优先级4.2 goto语句(P5
8、2)4.3种-嗯?运算符最常见的用途是console . writeline( in 0 year 1 you will have a balance of 2 ,total years,total years=: s ,balance);注意:在Switch分支中,一个case语句不以下一个case结束:例外情况是一次检查多个条件,如下所示:4.4循环4.4.1 do循环Do循环的结构为:Do while();提示:while后面的分号是必需的。4.4.2 while循环4.4.3 for循环4.4.4周期中断(P69)Break:立即终止循环。Continue:立即终止当前循环并继续下一个
9、循环。Goto:可以跳到显示的位置。Return:在循环和嵌入的函数中跳过。第五章有关变量的附加信息(P73)5.1.1隐式转换隐式转换规则是类型a,只要其值范围完全在类型b的值范围内,就可以隐式转换为类型b。其他具体解释文档。5.1.2显式转换(P75)两个关键字checked(expression)和unchecked(expression)是:Short A=267;byte B;b=checked(byte)a);5.1.3使用Convert命令转换显示5.2复杂变量类型枚举、结构、数组5.2.1枚举(P81)Enum typeName值1;值2;.ValueN声明此新类型的变量:Ty
10、peName varNameVarName=typeName.value枚举类型可以提取的每个值都存储为其基本类型的值,默认情况下为int。向枚举声明添加类型后,可以指定其他默认类型。Enum typeName :underlyingType值1;值2;.ValueN枚举的基本类型包括byte、sbyte、short、ushort、int、uint、long、ulong。也可以使用一个值作为另一个枚举的默认值。要获取枚举中的字符串值,请使用Convert .不应使用ToString()来使用(String)显示转换。这是因为枚举变量中存储的数据更加复杂,而不是存储在string变量中。您也可以
11、使用变数本身的ToString()命令。也可以将String转换为枚举值,但是语法有点复杂。此类型转换的特定命令,即Enum。Parse(),其用法如下:(enumeration type)enum . parse(type of(enumeration type),enumeration valuestring);5.2.2结构(P85)Struct要使调用结构的代码访问该结构的数据成员,可以使用public关键字。5.2.3阵列(P87)1、声明数组有两种方法可以直接指定数组的整个内容,或指定数组的大小,然后使用new关键字初始化所有数组元素。Int myIntArray=1,2,3,4,
12、5 ;intmy intarray=new int5;每个元素的默认值为0也可以使用非常多的变量初始化。intmy intarray=new intarray size;还可以声明数组大小必须与元素数匹配。Int my intarray=new int 5 1,2,3,4,5 ;可以使用大量变量初始化,但此变量必须是常量const int arraySize=5;intmy intarray=new intarray size 1,2,3,4,5 ;2,foreach循环Foreach(in)/can use for each elementForeach只会执行存取阵列的唯读存取,无法修改。
13、3、多维数组Double , hill hight=1,2,3,4,2,3,4,5,3,4,5,6 ;第一个指定大括号,第二个指定大括号内的元素。4、阵列阵列声明:intjaggedIntArray;初始化的两种方法:可以初始化包含其他数组的数组,然后依次初始化子数组。jaggedin tarray=new2;JaggedIntArray0=new int3;JaggedIntArray1=new int4;也可以jagged intarray=new int3= new int 1,2,3,new int 1,new int。还可以将数组的声明和初始化简单地放在一行中。intjagged i
14、ntarray= new int 1,2,new int,new int 3 ;对于可变长度数组,可以使用foreach,但是要获得实际数据,通常需要嵌套循环这是因为数组divisors1To10包含int元素(而不是int元素),所以必须循环访问每个子数组及其数组本身。5.3字符串处理(P94)1,将字符串转换为char数组:String myString=Hello world!charchararray=my string . TOC hararray();2、将字符串转换为大写或小写:.ToLower(),ToUpper3、删除字符串中的空格:.trim();4、删除其他字符5,删除字
15、符串前后的空格.trim start();TrimEnd();6,处理字符串中的空格,在字符串的左侧或右侧添加空格以达到所需长度.pad left();pad right();7,提供要添加到字符串中的字符String myString= AlignedMystring=mystring.pad left (10,-);8、使用提供的符号拆分字符串charseparator= ;MyString。split(separator);第6章:函数(P100)第7章:调试和错误处理(P126)7.1 Visual Studio调试7.1.1调试非中断(正常)模式导出调试信息Debug .WriteLine();仅在调试模式下运行Trace。WriteLine();可用于发布器System。Diagnostics命名空间提供1,追踪点2、诊断输出和跟踪点(P134)7.1.2调试中断模式(P134)1、进入中断模式2、
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
评论
0/150
提交评论