NET架构与应用开发实践第2章C#语言基础_第1页
NET架构与应用开发实践第2章C#语言基础_第2页
NET架构与应用开发实践第2章C#语言基础_第3页
NET架构与应用开发实践第2章C#语言基础_第4页
NET架构与应用开发实践第2章C#语言基础_第5页
已阅读5页,还剩23页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

.NET架构与应用开发实践2013.5第2章C#语言基础2.1 C#简介2.2 变量 2.3 数组 2.4 集合 2.5 字符串 2.6 语句、运算符和表达式第2章C#语言基础2.1C#简介C#是用于创建运行在.NET公共语言运行库上的应用程序的语言之一,它从C语言和C++语言演化而来,是Microsoft专门为使用.NET平台而创建的,并且考虑了其他语言的许多优点。C#是唯一为.NETFramework而设计的语言,是移植到其他操作系统上的.NET版本中使用的主要语言,能使用.NETFramework代码库提供的每种功能。简洁流畅的语法 完全的面向对象语言严格的安全性与强大的错误处理能力优秀的版本处理技术第2章C#语言基础2.2变量C#的基本数据类型、变量、常量、表达式、程序流程控制语句及数组等概念是C#程序设计的基础,掌握这些基本知识是编写正确程序的前提。所谓值类型就是一个包含实际数据的量。当定义一个值类型的变量时,C#会根据它所声明的类型,以堆栈方式分配一块大小相适应的存储区域给这个变量,随后对这个变量的读/写操作就直接在这块内存区域进行。.例如:intiNum=10;//分配一个32位内存区域给变量iNum,并将10放入该内存区域iNum=iNum+10; //从变量iNum中取出值,加上10,再将计算结果赋给iNum第2章C#语言基础2.2.1简单数据类型C#关键字.NETCTS类型名说明范围和精度boolSystem.Boolean逻辑值(真或假)true,falsesbyteSystem.SByte8位有符号整数类型128~127byteSystem.Byte8位无符号整数类型0~255shortSystem.Int1616位有符号整数类型32768~32767ushortSystem.UInt1616位无符号整数类型0~65535intSystem.Int3232位有符号整数类型2147483648~2147483647第2章C#语言基础续表C#关键字.NETCTS类型名说明范围和精度uintSystem.Uint3232位无符号整数类型0~4294967295longSystem.Int6464位有符号整数类型9223372036854775808~9223372036854775807ulongSystem.UInt6464位无符号整数类型0~18446744073709551615charSystem.Char16位字符类型所有的Unicode编码字符floatSystem.Single32位单精度浮点类型(大约7个有效十进制数位)doubleSystem.Double64位双精度浮点类型(大约15~16个有效十进制数位)decimalSystem.Decimal128位高精度十进制数类型(大约28~29个有效十进制数位)第2章C#语言基础2.2.2变量和常量变量表示数值或字符串值或类的对象。变量存储的值可能会发生更改,但名称保持不变。声明变量声明变量最简单的格式为:数据类型名称变量名列表;例如:intnumber;//声明一个整型变量boolopen;//声明一个布尔型变量decimalbankBlance;//声明一个十进制变量可以一次声明多个变量,例如:sbytea,b;//声明两个有符号字节型变量如果一次声明多个变量,变量名之间用逗号分隔。第2章C#语言基础2.2.2变量和常量常数常数是在编译程序时赋予值的,并且从那之后在任何情况下都不会发生更改。常数是使用const关键字声明的,常量可以使代码更容易让人阅读。constintspeedLimit=120;constdoublepi=3.1415926;第2章C#语言基础2.2.3变量类型类别说明值类型简单类型有符号整型:sbyte、short、int和long无符号整型:byte、ushort、uint和ulong字符型:char浮点型:float和double高精度小数型:decimal布尔型:bool枚举类型enumE{...}形式的用户定义的类型结构类型structS{...}形式的用户定义的类型引用类型类类型其他所有类型的最终基类:object字符串型:stringclassC{...}形式的用户定义的类型接口类型interfaceI{...}形式的用户定义的类型数组类型一维和多维数组,例如int[]和int[,]委托类型例如,delegateintD(...)形式的用户定义的类型第2章C#语言基础2.2.4变量类型之间的转换不同的变量类型之间可以转换。字符串与值类型之间的转换,可以通过如下方法:类型.Parse(字符串),返回值为相应的类型.Convert.To类型(参数),参数为多种,返回值为类型.例如:intinti=int.Parse("1");//类型.Parse(字符串)强制类型转换:例如:intinti=7;//32位的整数

longintj=8;//64位的整数

inti=(int)intj;//把大类型logn转为小类型int时,就必须得加强制转换符(int)第2章C#语言基础2.2.5装箱和拆箱装箱是指将一个值类型转换为引用类型的过程;而拆箱正好相反,是指将一个引用类型显式地转换成值类型。如:inti=10;objectobj=i;//隐式转换或者:inti=10;objectobj=(object)i;//显示转换现在,我们需要实现拆箱,将object类型转换为int。如:inti=10;objectobj=i;//装箱,可以隐式转换,也可以显示转换intj=(int)obj;//拆箱,只能显示转换第2章C#语言基础2.2.5装箱和拆箱

inti=123;objecto=i;//隐式转换i=456;//改变i的值System.Console.WriteLine("Thevalue-typevalue={0}",i);System.Console.WriteLine("Theobject-typevalue={0}",o);try{intj=(short)o;//拆箱System.Console.WriteLine("UnboxingOK.");}catch(System.InvalidCastExceptione){System.Console.WriteLine("{0}Error:Incorrectunboxing.",e.Message);}System.Console.ReadKey();第2章C#语言基础2.2.6变量作用域变量的作用域是指程序中该变量的使用范围。静态变量和局部变量的作用域冲突时,程序依然有效。例如:

staticinti=100;

staticvoidMain(string[]args){inti=10;Console.WriteLine("i="+i);Console.WriteLine("Program.i="+Program.i);//引用Program类变量iConsole.ReadLine();}第2章C#语言基础2.3数组数组(array)是一种包含若干变量的数据结构,这些变量都可以通过索引进行访问。数组类型为引用类型,因此数组变量的声明只是为数组实例的引用留出空间。一维数组int[]numbers={1,3,5,7,9,11};foreach(intiinnumbers){System.Console.WriteLine(i);}第2章C#语言基础2.3多维数组多维数组类似于同类型值的矩阵。多维数组的维数是数组类型的方括号之间逗号个数加上1。下面的示例分别分配一个二维数组和一个三维数组。int[,]arr2=newint[10,5];int[,,]arr3=newint[10,5,2];第2章C#语言基础2.4集合ArraylistArraylist支持自动改变大小的功能、可以灵活的插入元素、删除元素、访问元素等优点,其缺点就是速度相对比较慢一些。

第2章C#语言基础2.4集合哈希表(Hashtable)Hashtable用于处理和表现类似key/value的键值对,其中key通常可用来快速查找,同时key是区分大小写;value用于存储对应于key的值。哈希表的简单操作:在哈希表中添加一个key/value键值对:HashtableObject.Add(key,value);在哈希表中去除某个key/value键值对:HashtableObject.Remove(key);从哈希表中移除所有元素:HashtableObject.Clear();判断哈希表是否包含特定键key:HashtableObject.Contains(key);第2章C#语言基础2.5字符串初始化字符串转义符@符号ToString()访问字符串的信息更改大小写使用String.Equals方法字符串查找将字符串拆分为子字符串StringBuilder第2章C#语言基础2.5字符串转义符转义字符含义Unicode码转义字符含义Unicode码\'单引号\u0027\b退格符\u0008\"双引号\u0022\f走纸换页符\u000C\\反斜线字符\u005C\n换行符\u000A\0空字符\u0000\r回车符\u000D\a警铃符\u0007\t水平制表符\u0009\v垂直制表符\u000B第2章C#语言基础2.6语句、运算符和表达式语句声明语句声明语句引入新的变量或常量,变量声明可以选择为变量赋值,在常量声明中必须赋值。//变量声明doublearea;doublecount=2;//常量声明constdoublepi=3.14159;表达式语句用于计算值的表达式语句必须在变量中存储该值。第2章C#语言基础2.6语句、运算符和表达式任何程序都可以且只能由三种基本流程结构构成,即顺序结构、分支结构和循环结构。1.语句按照书写的顺序依次执行;2.分支结构又称为选择结构,它将根据计算所得的表达式的值来判断应选择执行哪一个流程分支;3.循环结构是在一定条件下反复执行一段语句的流程。第2章C#语言基础2.6.1选择语句条件判断语句,它能让程序在执行时根据特定条件是否成立而选择执行不同的语句块。C#提供两种分支语句结构,if语句和switch语句。1.if框架语法形式:if(条件表达式)语句;2.if_else框架语法格式:if(条件表达式)

语句1;else

语句2;3.if_elseif框架语法形式:if(条件表达式1)语句1;elseif(条件表达式2)

语句2;elseif(条件表达式3)

语句3;

……[else语句n

;]4.嵌套的if语句第2章C#语言基础2.6.2循环语句循环语句是指在一定条件下,重复执行一组语句,它是程序设计中的一个非常重要也是非常基本的方法。C#提供了4种循环语句:while、do_while、for和foreach。foreach语句主要用于遍历集合中的元素。1.while语句语法形式:while(条件表达式)循环体语句;如果条件表达式为真(true),则执行循环体语句。while第2章C#语言基础2.6.2循环语句循环语句是指在一定条件下,重复执行一组语句,它是程序设计中的一个非常重要也是非常基本的方法。C#提供了4种循环语句:while、do_while、for和foreach。foreach语句主要用于遍历集合中的元素。For循环语法形式:for(表达式1;表达式2;表达式3)循环体语句;一般情况下,表达式1是设置循环控制变量的初值;表达式2是布尔类型的表达式,作为循环控制条件;表达式3是设置循环控制变量的增值(正负皆可)。第2章C#语言基础2.6.2循环语句利用嵌套循环,输出“九九乘法口诀表”。

inti,j;Console.WriteLine("九九乘法口诀表");for(i=1;i<=9;i++){for(j=1;j<=i;j++){Console.Write("{0}*{1}={2}",j,i,(i*j));}Console.WriteLine();}Console.Read();第2章C#语言基础2.6.3跳转语句跳转语句将控制转移给另一代码段,常见的跳转语句包括break,continue,default,goto,return,yield等。break语句只能用于循环语句或switch语句

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

最新文档

评论

0/150

提交评论