版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、C#语法基础语法基础 本章知识点本章知识点 nC#语言的特点 nC#语言的数据类型 n条件与循环结构 nC#语言面向对象的特性 n常用系统类 C#语言的特点(了解) nC#语言是微软公司为.NET平台精心设计的程序设计语言 n7000多种类型 n依靠命名空间(Namespace)将多个提供相似功能的类组织在相 关的单元中,以分层的命名空间结构来组织 n常用命名空间 nsystem nSystem.data nSystem.IO nSystem.Threading nSystem.Web nSystem.Drawing C#语言的数据类型 n值类型和引用类型 C#语言的数据类型值类型(了解) 类
2、 型FCL类型描 述默 认 值 sbyteSystem.SByte有符号8位整数0 byteSystem.Byte无符号8位整数0 shortSystem.Int16有符号16位整数0 ushortSystem.UInt16无符号16位整数0 intSystem.Int32有符号32位整数0 uintSystem.UInt32无符号32位整数0 longSystem.Int64有符号64位整数0L ulongSystem.UInt64无符号64位整数0 charSystem.Char16位Unicode字符0 floatSystem.Single32位单精度浮点数0.0F doubleSyst
3、em.Double64位双精度浮点数0.0D boolSystem.Booleantrue或false布尔值false decimalSystem.Decimal128位高精度浮点数0.0M C#语言的数据类型引用类型 访问限定修饰符描 述 public可以被所有类及其方法访问 private仅可以被所定义的类中的方法访问 protected仅可以被所定义的类及其派生类中的方法访问 internal仅可以被所定义的同一项目中的方法访问 protected internal仅可以被所定义的类、派生类及同一项目中的方法访问 n引用类型的访问限定修饰符(了解) n引用类型的预定义特性(了解) 预定义
4、特性描 述 abstract 不能被实例化,可以用做其他类型的基类型;如果派生 类不是抽象的,则可以创建它的实例 sealed不能用做基类型 new子类不会重写基类中的方法,应用于虚方法 C#语言的数据类型引用类型(了解) n类 n类是对一系列具有相同性质的对象的抽象,是对对象共同特征的 描述,是一组具有相同数据结构和相同操作的对象的集合。 n接口 n委托 C#语言的数据类型引用类型 n字符串 nObject nSystem.Object是.NET框架中所有类型的根类型。 常量和变量 n常量常量 n常量的命名规则如下: n可以使用字母、数字、下划线等字符; n不可以使用空格、斜杠、逗号、句号等
5、特殊字符; n首字母必须是英文字母; n长度不能超过255个字符; n不能使用C#中的关键字,如using,int,void等。 n变量变量 n变量名的第一个字符必须是字母、下划线或; n如果第一个字符是,则第二个字符不能是数字; n其余的字符可以是字母、下划线或数字。 数组(皆由system.Array类派生而来,具有array的属性和方法) n一维数组一维数组 n一维数组的声明需要指明数组元素的类型和数组的名称。例如,声明 一个整数数组的代码如下: nint Array; n数组必须在初始化之后才可以使用,通过关键字new来对数组进行初 始化并指定数组长度。例如: nint Array=n
6、ew int3; nArray0=2; nArray1=3; nArray2=4; 或 nint Array=new int32,3,4; nint Array=new int 2,3,4; 数组 n二维数组和多维数组二维数组和多维数组 n二维数组的声明需要指明数组元素的类型和数组的名称。例如 : nint, Array; n二维数组的初始化类似于一维数组,例如 : nint, Array=new int2,31,2,3,4,5,6 ; 或 nint, Array=new int,1,2,3,4,5,6 ; n多维数组的数组元素本身也是数组,又可以分为规则多维数组和不规 则多维数组,如: ni
7、nt, Array=new int2,3,4; 例例23 数组 nArrayList nArrayList是一种特殊的数组,它提供的一些功能超过了标准的数 组,通过添加和清除元素可以动态地改变其大小。 nArrayList与System.Array的区别有: nArray可以定义多维数组,ArrayList只能定义一维数组; nArray可以定义自己的下限,ArrayList的下限始终为0; nArray的元素通常是特定类型的,ArrayList的元素都是object类型的, 因此需要进行装箱和拆箱的操作,内存分配的代价很高; nArray的元素数目是固定的,ArrayList的元素数目可以自
8、动扩展。 例例2-4 运算符 nC#的运算符可以分为一元运算符、二元运算符和三元运算符。的运算符可以分为一元运算符、二元运算符和三元运算符。 类 型运 算 符 算数+ - * / % 赋值= += -= *= /= % 或if(条件) 执行语句1; else 执行语句2; 条件语句条件语句switchcase n要实现多重分支判断,一般采用switchcase语 句。switchcase语句可以根据条件从一组不同 的分支中选择一个来执行。例例2-6 switch(条件) case 常数表达式1: 执行语句; break; case 常数表达式2: 执行语句; break; case 常数表达式
9、3: 执行语句; break; default: 默认的处理语句; break; 循环语句循环语句 n循环语句可以实现对一组执行语句的重复运行, 它对于简化程序、组织算法具有重要意义 。 n在C#中,提供了4种不同的循环语句:for循环、 while循环、dowhile循环和foreach循环。 循环语句循环语句for循环循环 nC#中的for循环与C+和Java中的语法是相同的, 在循环次数确定的情况下,推荐使用for循环 。 例2-7 语法格式为: for(初始变量;循环条件;计数器) 循环语句; 循环语句循环语句while循环循环 n与for循环相同,while循环也是有条件地将循环 语
10、句执行若干遍,但while循环不需要确定循环次 数。 例2-8 语法格式为: while(循环条件) 循环语句; 循环语句循环语句dowhile循环循环 n与while循环的不同之处在于,dowhile循环先 执行循环语句,然后对循环条件进行判断,所以 至少会执行一次循环语句。例2-9 语法格式为: do 循环语句; while(循环条件) 循环语句循环语句foreach循环循环 nforeach循环主要用于操作数组或集合内的每一个 元素。foreach循环可以在支持IEnumerable接口 的容器类中遍历每一项 。例2-10 语法格式为: foreach(类型 变量名 in 集合) 循环语
11、句; string s = A, B, C, D, E ; foreach (string i in s) Console.Write(i + ;); 面向对象(了解)面向对象(了解)静态成员静态成员 n有时需要一种方法在所属的类还没有创建实例的 时候就能够使用,或者需要一个成员变量的值不 需要跟某个对象实例相关联,那么这时就可以使 用静态方法或静态成员变量。在C#中,用关键字 static来表示静态成员。 public class Tools public static void Log(string error) 面向对象面向对象属性和特性属性和特性 n属性(Property) n属性和字
12、段是有区别的,因为对属性的访问是受限制 的,只能通过get和set访问器方法来访问属性。 n属性的存储和读取是由get和set访问器方法定义的。 可以在get访问器方法中编写代码来决定如何读取一个 属性值,在set访问器方法中编写代码来决定如何存储 一个属性值。 n通过省略get或set访问器方法,可以使一个属性只读 或只写。 n例2-11(略) 属性和特性(了解)属性和特性(了解) n特性(Attribute略) n.NET框架提供了特性,通过特性可以扩充C#语言的能 力。Attribute是一种声明标记,可以用它把与编程元 素的行为相关的信息传递给CLR。 n特性可以看做一种程序能够存储和
13、使用的代码注释。 在大多数情况下,可以编写检索某一特性值的代码, 也可以编写在运行时进行行为改变的代码。 n特性可以应用到不同的编程元素中。 n在应用特性的编程元素前的方括号“ ”中,可以指定 特性名和特性的值。 n还可以对任一个元素应用多个特性。 继承与多态(了解)继承与多态(了解) n继承 n任何类都可以从另一个类继承,被继承的类称为父类, 也称为基类。在C#中,派生类只能从一个基类中继承, 但可以通过继承多个接口来实现类似于多继承的功能。 n例212略 继承与多态(了解)继承与多态(了解) n多态 n多态表现为派生类在继承基类之后,它从基类继承而 来的成员可以表示与基类相应成员不同的含义
14、。 n例213、214(略) 常用系统类数据转换常用系统类数据转换 nSystem.Convert类的静态方法类的静态方法 方 法说 明 ToInt32(Value)转化为32位整数 ToInt64(Value)转化为64位整数 ToSingle(Value)转化为单精度浮点数 ToDouble(Value)转化为双精度浮点数 ToDecimal(Value)转化为128位高精度浮点数 ToDateTime(Value)转化为日期 ToString(Value)转化为字符串 ToBoolean(Value)转化为布尔类型 常用系统类数据转换常用系统类数据转换 n例如,将字符串型转换为整型,或者
15、将字符串型转换为日期 型,程序代码为: string s1=“123”; int a=Convert.ToInt32(s1); string s2=10/31/2005; datetime b=Convert.ToDateTime(s2); nSystem.Int32,System.Double和System.Single又都具有静态方法 Parse,也可以用来进行相应的类型转换。例如: string s3=123.456; double c=double.Parse(s3); 或double c=Convert.ToDouble(s3); 常用系统类数据转换常用系统类数据转换 n而ToStr
16、ing方法也是比较特殊的。前面的根类型Object类具有ToString 方法,因此各种类型也都继承了此方法。例如: int i=123; string d=Convert.ToString(i); 或 string d=i.ToString(); 或 string d=123.ToString(); 都是正确的。 常用系统类常用系统类(了解(了解)字符串操作)字符串操作 nSystem. String类的静态属性和方法类的静态属性和方法 例如: int i=String.Compare(Hello,hello); string s1=Aa,Bb,Cc; string s2=String.Jo
17、in(;,s1); 静态属性和方法说 明 Empty 静态属性,表示空字符串。true表示空字符串,false表示不是 空字符串 Compare(string1,string2,true/fa lse) 比较两个字符串,如果相等,则结果为0。第三个参数可以省 略,true表示区分大小写,false表示不区分,默认为true Join(分隔符,数组) 将字符串数组连接成一个字符串,每一个数组变量之间用第 一个参数作为分隔符隔开 常用系统类字符串操作常用系统类字符串操作 nSystem. String类的实例属性和方法(了解)类的实例属性和方法(了解) 实例属性和方法说 明 Length返回字符串
18、的长度 SubString(start,length)从字符串的第start个字符开始取得length长度的字符串。若length参数省略,则截取到结尾 IndexOf(string)返回string在字符串中第一次出现的位置 Replace(string1,string2)将字符串中的子字符串string1替换为string2 Split(分隔符)将字符串根据分隔符拆分成一个数组。如果省略,则使用空格作为分隔符 ToLower()将字符串里所有大写字母转化为小写字母 ToUpper()将字符串里所有小写字母转化为大写字母 Trim(Char数组) 如果省略参数,则将字符串前后的空格、制表符、
19、换行符等删除。如果使用Char数组,则将字符串 前后发现的数组的字符全部删除 StartsWith(string)如果指定字符串以string开头,则返回true,否则返回false EndsWith(string)如果指定字符串以string结尾,则返回true,否则返回false LastIndexOf(string)返回string在指定字符串最后一次出现的位置 IndexOfAny(string)返回数组中任一个字符在指定字符串中第一次出现的位置 LastIndexOfAny(string)返回数组中任一个字符在指定字符串中最后一次出现的位置 常用系统类字符串操作常用系统类字符串操作
20、例如: string s=HelloWorld!; int i1=s.Length; string wor=s.SubString(5,3); int i2=s.IndexOf(o); s.Replace(World,.NET); 常用系统类日期和时间操作常用系统类日期和时间操作 nSystem. DateTime类的静态属性和方法类的静态属性和方法 例如: 在控制台中输出现在的时间和今天的日期,程序代码为: Console.WriteLine(“现在是:”+DateTime.Now);/输出当前时间 Console.WriteLine(今天是:+DateTime.Today);/输出当前日期
21、 静态属性和方法说 明 Now取得系统当前的日期和时间 Today取得系统当前的日期 Compare(DateTime1,DateTim e2) 比较两个日期,如果相等,则返回0;如果第一个大,则返回-1;反 之,则返回1 常用系统类日期和时间操作常用系统类日期和时间操作 nSystem. DateTime类的实例属性和方法类的实例属性和方法 实例属性和方法说 明 Year取得给定DateTime值的年份 Month取得给定DateTime值的月份 Day取得给定DateTime值的当月日期 Hour取得给定DateTime值是第几小时 Minute取得给定DateTime值是第几分 Seco
22、nd取得给定DateTime值是第几秒 DayOfWeek取得给定DateTime值是星期几 DayOfYear取得给定DateTime值是一年中的第几天 Date取得给定DateTime值的日期信息 TimeOfDay取得给定DateTime值的时间信息 常用系统类日期和时间操作常用系统类日期和时间操作 AddYears(int)取得给定DateTime值加上int年 AddMonths(int)取得给定DateTime值加上int月 AddDays(int)取得给定DateTime值加上int天 AddHours(int)取得给定DateTime值加上int小时 AddMinutes(in
23、t)取得给定DateTime值加上int分 AddSeconds(int)取得给定DateTime值加上int秒 ToLongDateString()将给定的DateTime值转换为长日期格式的字符串 ToShortDateString()将给定的DateTime值转换为短日期格式的字符串 ToLongTimeString()将给定的DateTime值转换为长时间格式的字符串 ToShortTimeString()将给定的DateTime值转换为短时间格式的字符串 Add(时间段)为给定DateTime值加上一个时间段 Subtract(时间段)为给定DateTime值减去一个时间段 常用系统类日期和时间操作常用系统类日期和时间操作 DateTime s=DateTime.Now; Console.WriteLine(今年是:+s.Year); Console.WriteLine(今天是:+s.Day+号); Console.WriteLine(今天是星期:+s.DayOfWeek); Console.WriteLine(半
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- GB/T 46917.2-2026标准语义知识库第2部分:数据接口要求
- GB/T 47011-2026稀土永磁材料区块链数据共享技术规范
- 首都师范大学《弱智儿童教育》2024-2025学年第二学期期末试卷
- 2025年研究生经济学问答题与答案解析
- 第2课 系统的构成 教学设计(2023-2024学年五年级下册信息技术浙教版)
- 交通安全设施工安全风险强化考核试卷含答案
- 浆染联合机挡车工成果考核试卷含答案
- 废旧电池及电池系统处置员岗前技术综合考核试卷含答案
- 机械产品检验员操作规程强化考核试卷含答案
- 轴承零件制造工操作技能考核试卷含答案
- 2026北京市公安局监所管理总队招聘勤务辅警300人笔试参考题库及答案解析
- 2026年张家界航空工业职业技术学院单招职业技能考试备考题库含详细答案解析
- 迟到考勤考核制度
- 2025-2026学年人教版(新教材)小学数学一年级下册教学计划(附进度表)
- 初中语法每日小纸条【答案版】
- 2023年江西电力职业技术学院单招笔试职业技能考试题库及答案解析
- 体外放射分析-1 总论教材课件
- 非煤矿山复工复产安全生产手册
- GB/T 18998.1-2022工业用氯化聚氯乙烯(PVC-C)管道系统第1部分:总则
- 《国际金融》课件第九章国际金融组织与国际金融治理体系
- 沙漠掘金(经典版)-沙漠掘金攻略
评论
0/150
提交评论