欢迎来到三一办公! | 帮助中心 三一办公31ppt.com(应用文档模板下载平台)
三一办公
全部分类
  • 办公文档>
  • PPT模板>
  • 建筑/施工/环境>
  • 毕业设计>
  • 工程图纸>
  • 教育教学>
  • 素材源码>
  • 生活休闲>
  • 临时分类>
  • ImageVerifierCode 换一换
    首页 三一办公 > 资源分类 > PPT文档下载  

    第2章C程序设计.1.ppt

    • 资源ID:5896180       资源大小:3.45MB        全文页数:131页
    • 资源格式: PPT        下载积分:10金币
    快捷下载 游客一键下载
    会员登录下载
    三方登录下载: 微信开放平台登录 QQ登录  
    下载资源需要10金币
    邮箱/手机:
    温馨提示:
    用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)
    支付方式: 支付宝    微信支付   
    验证码:   换一换

    加入VIP免费专享
     
    账号:
    密码:
    验证码:   换一换
      忘记密码?
        
    友情提示
    2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
    3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
    4、本站资源下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。
    5、试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。

    第2章C程序设计.1.ppt

    ASP.Net 程序设计,张 凯 计算机学院 软件工程系,2010年9月15日,第二章 C#程序设计,C#语言概述,C#语言的变量和数据类型,C#语言的表达式和控制语句,ASP.Net自定义的类,4,1,2,3,C#语言概述,C#语言的产生背景C、C+、Pascal、Basic、Fortran、Java、C#.VC、Delphi、VB、VF、Eclipse、VC#,C#语言概述,C#语言的产生背景Delphi和.NET之父:安德斯海尔斯伯格(Anders Hejlsberg)丹麦,Turbo Pascal,C#编译器的主要作者Anders使用汇编语言撰写编译器,其功力无人能出其右。创造出了全世界速度最快、品质也是一流的Pascal编译器。在Anders离开了Borland之后,几乎没有人能够修改Anders的编译器,C#语言概述,C#语言的产生背景Hejlsberg曾在丹麦科技大学学习工程学1981,Anders 和Philippe Kahn共同创办Borland。他将Turbo Pascal变成面向对象的、拥有可视化环境和卓越的数据库访问特性的应用程序开发语言Delphi。MS曾多次企图挖走Anders,但都没有成功。130万美元年薪外加股票期权和分红,总计超过300万美元。Java出现了,Philippe Kahn离开,Anders Hejlsberg在Borland一直郁郁不得志。当清楚Anders Hejlsberg的想法后,比尔盖茨答应给他一个宽松的环境,既领导Visual J+小组。,C#语言概述,C#语言的产生背景然而,好景不长SUN公司认为微软破坏了java的跨平台性,很快微软就会利用它的VJ+将java开发人员拉拢到它的周围,而它的VJ+以及WFC的很多特性明显是为了Windows平台设计。SUN中止了对微软的java授权。此后微软便选择Anders Hejlsberg担任C#的首席设计师。Anders Hejlsberg,微软.NET的首席架构师,编程语言设计和实现的顶尖高手。他一手做出了Turbo Pascal,也是Delphi,J,C#和.NET的主要作者。,.Net Framework命名空间,命名空间的功能命名空间用于组织.NET Framework提供的几千个类。使用命名空间可以解决类名冲突问题。,.Net Framework命名空间,命名空间的使用利用using语句使用命名空间,如“using System;”表示导入System命名空间。导入命名空间后,使用其包含的类时可省略命名空间。例如,若没有使用“using System.Net.Mail”语句,则定义“MailMessage MyMail”这个语句就会出现编译错误,此时就必须用System.Net.Mail.MailMessage MyMail代替。,.Net Framework命名空间,ASP.Net常用命名空间 System:提供基本类,如提供字符串操作的String类。System.Configuration:提供处理配置文件中数据的类,如能获取web.config文件中数据库连接字符串的ConnectionStringSettings类。System.Data:提供对ADO.NET类的访问,如提供数据缓存的DataSet类。System.Ling:提供使用LINQ进行查询的类和接口,如包含标准查询运算符的Queryable类。,.Net Framework命名空间,ASP.Net常用命名空间 System.Web:提供使浏览器与服务器相互通信的类和接口,如用于读取客户端信息的HttpRequest类。System.Web.Security:提供在Web服务器实现ASP.NET安全性的类,如用于验证用户凭据的MemberShip类。System.Web.UI:提供用于创建ASP.NET网站用户界面的类和接口,如每个Web窗体都继承的Page类。,.Net Framework命名空间,ASP.Net常用命名空间 System.Web.UI.HtmlControls:提供在Web窗体页上创建 HTML服务器控件的类。System.Web.UI.WebControls:提供在Web窗体页上创建Web服务器控件的类,如按钮Button控件类。System.Web.UI.WebControls.WebParts:提供用于创建个性化Web部件页的类和接口,如呈现模块化用户界面的Part类。System.Xml.Linq:提供用于LINQ to XML的类,如获取XML元素的Xelement类。,C#语言的变量、数据类型,什么才是程序语言的核心?语法?函数库?机器语言时代寄存器、内存地址、位长汇编语言时代助记符、变量间没有截然的界限中级语言时代里程碑、完全引入变量和变量类型高级语言时代变量概念的新发展,结构体(记录)面向对象时代面向类、Java、.Net传统变量类型被彻底放弃,所有的变量类型都被理解为类,所有的变量都成为对象,程序语言真正的核心变量!,C#语言的变量、数据类型,变量编程的需要 应用程序在运行过程中需要将一些数据信息保存在内存中,而我们在编写程序时不可能直接使用地址的方式来标识内存;因此就要使用变量。,C#语言的变量、数据类型,变量什么是变量?简单的说,变量是用来代表某内存空间的一个标识,可以利用变量名来将数据保存到与之对应的内存中;反之,也可以通过变量名将与之对应的内存中的数据取出。,如何定义变量和使用变量呢?这要结合数据类型来使用,C#语言的变量、数据类型,C#语言的数据类型为什么需要数据类型?应用程序总是需要处理和保存数据,而现实世界中的数据类型多种多样,比如:人的名字;人的年龄等等。所以应该让计算机知道需要处理什么样的数据、采用哪种方式进行处理以及按什么格式保存数据。C#语言预定义了很多种数据类型:整数类型、实数类型、数组、类等。,C#语言的变量、数据类型,C#语言的变量、数据类型,C#语言的变量、数据类型,C#语言的变量、数据类型,C#语言的变量、数据类型,如何使用整数类型int来定义一个变量?数据类型 变量名int age;这就定义了一个具有特定数据类型(int)的变量(age)age=90;,C#语言的变量、数据类型,如何使用整数类型int来定义一个变量?int age;age=90;int sum;sum=0;sum=sum+age;这是定义和使用一个值类型变量的基本方法。注意:一个变量必须先定义后使用,并且一定具有某种类型,只能给变量附上相应类型的数据。C#是强类型语言。,C#语言的变量、数据类型,变量的命名规则1)变量名必须使用英文字母,数字和下划线,并且必须以字母或下划线开头。2)变量名区分大小写。比如:int age;int Age;age和Age是两个不同的变量。3)变量名不能与C#的关键字重名。,C#语言的变量、数据类型,深入C#语言的数据类型inti;i=1;strings;s=i.ToString();,C#语言的变量、数据类型,深入C#语言的数据类型通用类型系统C#的基本数据类型都以平台无关的方式来定义。C#的预定义类型并没有内置于语言中,而是内置于.NET Framework中。.NET使用通用类型系统(CTS)定义了可以在中间语言(IL)中使用的预定义数据类型。例如,在C#中声明一个int变量时,声明的实际上是CTS中System.Int32的一个实例。这具有重要的意义:(1)确保IL上的强制类型安全;(2)实现了不同.NET语言的互操作性;(3)所有的数据类型都是对象。它们可以有方法,属性。,C#语言的变量、数据类型,数据类型的转换1.值类型间的转换2.装箱和拆箱:在值类型和引用类型间转换,C#语言的变量、数据类型,数据类型的转换1.值类型间的转换 隐示转换:如果将一个值从范围较窄的数据类型转换为范围较宽的数据类型,可以使用隐含转换。int num1=1000;double num2;num2=num1;显示转换:在不能使用隐士转换时就必须使用强制转换。在前面使用(目标数据类型)num1=(int)num2;,C#语言的变量、数据类型,数据类型的转换2.装箱和拆箱:在值类型和引用类型间转换int myInt=12;object obj=myInt;/boxingint myInt2=(int)obj;/unboxing,C#语言的变量、数据类型,值类型用法示例,static void Main(string args)bool flag=true;short a=19;int i=(int)3.0;float f=3.14F;string str=Tom;Console.WriteLine(布尔值=+flag);Console.WriteLine(短整型值=+a);Console.WriteLine(整型值=+i);Console.WriteLine(浮点值=+f);Console.WriteLine(字符串值=+str);,int i=3.0;float f=3.14;double f=3.14;float f=(float)3.14;,C#语言的变量、数据类型,用法示例bool型,基本用法:bool b1=true;/不是Truebool b2=(x=1 示例:if(b2)else,int x=0,y;if(x)y=0;else y=1;,思考结果如何,C#语言的变量、数据类型,注意,int x=0;if(x)可用 if(x!=0)进行显式比较或者用转换函数if(System.Convert.ToBoolean(x)/非0为true,无法将类型int隐式转换为bool,C#语言的变量、数据类型,值类型用法示例,char ch=A;char ch=101;/用8进制数表示ASCII字符,最多3位char ch=x41;/用2位16进制数表示ASCII字符char ch=x0041;/用低2位16进制数表示ASCII字符char ch=u0041;/Unicode字码,必须4位16进制数char MyChar=65;/:integral type cannot fit in charchar MyChar=(char)65;/:Cast from integral typeint a=MyChar;/:implicit conversion to int,C#语言的变量、数据类型,C#语言的变量、数据类型,程序练习,using System;public class BoolTest public static void Main()Console.Write(Enter a character:);char c=Console.Read();/读入一个字符(返回值为int型)if()if()Console.WriteLine(小写字母.);else Console.WriteLine(大写字母.);else Console.WriteLine(不是字母.);,C#语言的变量、数据类型,参考答案,using System;public class BoolTest public static void Main()Console.Write(Enter a character:);char c=(char)Console.Read();/读入一个字符(返回值为int型)if(char.IsLetter(c)if(char.IsLower(c)Console.WriteLine(小写字母.);else Console.WriteLine(大写字母.);else Console.WriteLine(不是字母.);,C#语言的变量、数据类型,用法示例string型,string a=hello;string b=h;b=b+ello;/+是连接字符串,b=hellostring c=good+morning;Console.WriteLine(a!=b);/输出结果是False Console.WriteLine(object)a=b);/结果是False(类型不一致了),string s1=tom;string s2=jerry;Console.WriteLine(s1 s2);,思考结果如何,比较两个字符串的最简单方法是使用=和!=运算符,执行区分大小写的比较。,C#语言的变量、数据类型,C#语言的变量、数据类型,用法示例string型,可以用索引运算符 访问字符串中的各个字符:char x=test2;/x=s;序号从0开始string s=u0041;char c1=s0,c2=s2;/则c1,c2=?,索引示例:string s=Printing backwards;/汉字能行吗?for(int i=0;i s.Length;i+)System.Console.Write(ss.Length-i-1);,C#语言的变量、数据类型,用法示例string型,字符串中可以包含转义符,如:string hello=HellonWorld!;练习:c:myFoldermyFile.txt,string s1=c:myFoldermyFile.txt;/string s2=c:myFoldermyFile.txt;/不易阅读改进:C#字符串可以开头,并用双引号引起来:string s3=c:myFoldermyFile.txt;,C#语言的变量、数据类型,用法示例string型,注意:若要在一个用 引起来的字符串中包括一个双引号,则应使用两个双引号:例如:You!cried the captain.则用:You!cried the captain.,C#语言的变量、数据类型,用法示例string型,字符串转换为其它型的方法,.Parse()方法 很重要Sytem.Convert.()方法,C#语言的变量、数据类型,用法示例string型.Parse()方法,int.Parse(string)long.Parse(string)float.Parse(string)double.Parse(string)bool.Parse(string)char.Parse(string)DateTime.Parse(string),string s1=123;int a=int.Parse(s1);string s2=123.45;double f=double.Parse(s2);string s3=2008/03/15;DateTime dt=DateTime.Parse(s3);Console.WriteLine(dt.Year);,C#语言的变量、数据类型,Sytem.Convert.()方法,C#语言的变量、数据类型,示例,string s1=123;int a=System.Convert.ToInt32(s1);/a=123string s2=123.45;double f=Convert.ToDouble(s2);/f=123.45string s=true;/不区分大小写bool b=Convert.ToBoolean(s);string s=2008/03/15;/一种日期格式DateTime dt=Convert.ToDateTime(s);Console.WriteLine(dt.Year);,C#语言的变量、数据类型,补充,将数字转换为字符串时,需要使用ToString()方法,或者使用Convert.ToString()方法。例如:int i=123;textBox1.Text=Convert.ToString(i);textBox2.Text=i.ToString();,C#语言的表达式和控制语句,C#表达式、运算符表达式是运算符和操作数组成的序列。1).附值运算符:=;*=;+=;-=;/=;%=2).算术运算符:+,-,*,/,%3).关系运算符:,=,!=,=,is 4).逻辑运算符:逻辑与,C#语言的变量、数据类型,用法示例/、%运算,Console.WriteLine(5/2);Console.WriteLine(5.0/2);Console.WriteLine(5/2.0);Console.WriteLine(5.0/2.0);Console.WriteLine(5%2);Console.WriteLine(5.1%2);Console.WriteLine(-5%2);,练习:Console.WriteLine(-1.5%2);Console.WriteLine(-2.5%2);,C#语言的变量、数据类型,用法示例逻辑运算示例,int i=0;if(i0,int i=0;if(i0,&、|仅在必要时才计算第二个操作数,&、|两个操作数都要计算,C#语言的表达式和控制语句,C#流程控制语句选择控制:if else、switch case循环控制:while、do while、for、foreach跳转语句:break、continue异常处理:try、catch、finally,C#语言的表达式和控制语句,C#流程控制语句if选择语句,2)双向:if(布尔表达式)/表达式结果为真时运行else/表达式结果为假时运行,1)单向:if(布尔表达式)/表达式结果为真时运行,C#语言的表达式和控制语句,C#流程控制语句if、switch选择语句,3)多分支:if(布尔表达式1)/表达式1结果为真时运行else if(布尔表达式2)/表达式2结果为真时运行else if(布尔表达式N)/表达式N结果为真时运行else/以上表达式都为假时执行,switch(控制表达式)case 常量1:/需要执行的程序块 break;case常量2:/需要执行的程序块 break;default:/默认执行的程序块 break;,C#语言的表达式和控制语句,C#流程控制语句for循环语句,for(初始值表达式;循环条件表达式;循环后的操作表达式)/执行语句块;,例子:计算1到100个自然数的和。,C#语言的表达式和控制语句,C#流程控制语句foreach循环语句,foreach(数据类型 循环变量 in 集合)/执行语句块;,例如:int arr=1,3,5,2,4,6,8;foreach(int x in arr)/x遍历数组元素,C#语言的表达式和控制语句,C#流程控制语句foreach循环语句,示例:int odd=0,even=0;int arr=1,3,5,2,4,6,8;foreach(int x in arr)if(x%2=0)even+;else odd+;Console.WriteLine(奇数个数=0,偶数个数=1,odd,even);,C#语言的表达式和控制语句,C#流程控制语句foreach循环语句,示例:string array2=hello,world;foreach(string s in array2)System.Console.WriteLine(s);,C#语言的表达式和控制语句,C#流程控制语句foreach循环语句编程练习输入一行字符串,统计字母、数字、空格和其他字符个数。,C#语言的表达式和控制语句,public static void Main()int letters=0,digits=0,spaces=0,others=0;Console.WriteLine(请输入一个字符串:);_;foreach(_)if(_)letters+;else if(_)digits+;else if(_)spaces+;else others+;Console.WriteLine(字母的个数为:0,letters);Console.WriteLine(数字的个数为:0,digits);Console.WriteLine(空格的个数为:0,spaces);Console.WriteLine(其他字符的个数为:0,others);,C#语言的表达式和控制语句,public static void Main()int letters=0,digits=0,spaces=0,others=0;Console.WriteLine(请输入一个字符串:);string input=Console.ReadLine();foreach(char chr in input)if(char.IsLetter(chr)letters+;else if(char.IsNumber(chr)digits+;else if(char.IsWhiteSpace(chr)spaces+;else others+;Console.WriteLine(字母的个数为:0,letters);Console.WriteLine(数字的个数为:0,digits);Console.WriteLine(空格的个数为:0,spaces);Console.WriteLine(其他字符的个数为:0,others);,C#语言的表达式和控制语句,C#流程控制语句while循环语句,1)while语句 while(布尔表达式)/要执行的程序段,2)dowhile do/要执行的程序段 while(布尔表达式);,例子:1 计算1到100个自然数的和。,C#语言的表达式和控制语句,C#流程控制语句跳转语句,for(int i;i10;i+)if(i=6)break;Console.WriteLine(i);,for(int i;i10;i+)if(i=6)continue;Console.WriteLine(i);,Return,C#语言的表达式和控制语句,C#流程控制语句异常处理,try/执行语句块;catch()/异常处理,try/执行语句块;catch()/异常处理finally/非执行不可 释放资源,C#语言的表达式和控制语句,C#流程控制语句异常处理,Console.Write(请输入a=);string a=Console.ReadLine();try int sum=int.Parse(a);Console.Write(sum);catch Console.Write(请输入整数!);,C#基本输入输出,输出语句:System.Console.Write();System.Console.WriteLine();/有换行输入语句:System.Console.ReadLine();/读取一行字符System.Console.Read();/读取一个字符(返回值为int型),【返回】,static void Main(string args)Console.Write(请输入a=);string a=Console.ReadLine();Console.Write(请输入b=);string b=Console.ReadLine();Console.WriteLine(a+b=+(a+b);,字符串的连接,示例,static void Main(string args)Console.Write(请输入a=);string a=Console.ReadLine();Console.Write(请输入b=);string b=Console.ReadLine();Console.WriteLine(a+b=+(int.Parse(a)+int.Parse(b);,示例,问题:如何输出多个数据static void Main(string args)Console.Write(请输入a=);string a=Console.ReadLine();Console.Write(请输入b=);string b=Console.ReadLine();int sum=int.Parse(a)+int.Parse(b);Console.WriteLine(0+1=2,a,b,sum);,占位符,数据用逗号分隔,关于输出格式化,int i=123;double j=123.45;Console.WriteLine(i,j);Console.WriteLine(i=0,j=1,i,j);/结果 i=123,j=123.45 Console.WriteLine(i=0,4,j=1,-7,i,j);/结果 i=123,j=123.45 Console.WriteLine(j=0,7:f1,j);/j=123.5 Console.WriteLine(j=0:f1,j);/j=123.5/f表示浮点数,1表示小数位数(四舍五入)Console.WriteLine(i=0,7:x,i);/i=7b Console.WriteLine(i=0:x,i);/i=7b/x表示16进制数,4,7代表宽度,负号表示左对齐,Console.Read()示例,static void Main(string args)Console.Write(请输入:);int a=Console.Read();Console.WriteLine(该字符ASCII码值:+a);Console.WriteLine(该字符是:+(char)a);,改动一下static void Main(string args)Console.Write(请输入:);char a=(char)Console.Read();/需强制转换为char型 Console.WriteLine(输入字符:+a);Console.WriteLine(该字符ASCII码值:+(int)a);,【返回】,数组,C#数组属于引用类型,其基类是System.Array一维:类型 数组名=new 类型数组大小 二维:类型,数组名=new 类型行数,列数 交错数组(数组的数组):例如:int 数组名=new 类型个数;,数组下标从0开始,(1)一维数组,基本用法:int myArr=new int 5;/此时元素初值都为零int myArr=new int51,3,5,7,9;int myArr=new int61,3,5,7,9;个数不一致int myArr=new int 1,3,5,7,9;/数组大小可省略int myArr=1,3,5,7,9;/快捷方式,注意,int myArray;/可先声明后初始化myArray=new int 1,3,5,7,9;/OKint myArray;myArray=1,3,5,7,9;/Error,(2)二维数组,int,myArray=new int4,2;/此时元素初值都为零int,myArray=new int4,2 1,2,3,4,5,6,7,8;int,myArray=1,2,3,4,5,6,7,8;int,myArray;/可先声明后初始化myArray=new int,1,2,3,4,5,6,7,8;/OKmyArray=1,2,3,4,5,6,7,8;/Error,要求:列元素个数要一样,二维数组示例,using System;public class ArrayClass static void PrintArray(int,w)for(int i=0;i 4;i+)for(int j=0;j 2;j+)Console.Write(a0,1=2,-5,i,j,wi,j);Console.WriteLine();public static void Main()int,myArr=1,2,3,4,5,6,7,8;PrintArray(myArr);,改进一下,using System;public class ArrayClass static void PrintArray(int,w)for(int i=0;i=w.GetUpperBound(0);i+)for(int j=0;j=w.GetUpperBound(1);j+)Console.Write(a0,1=2,-5,i,j,wi,j);Console.WriteLine();public static void Main()int,myArr=1,2,3,4,5,6,7,8;PrintArray(myArr);,GetLowerBound(int)GetUpperBound(int)返回数组指定维数的下界和上界维数从0开始,二维数组的属性和方法,GetLowerBound(int)、GetUpperBound(int)返回数组指定维数的下界和上界,维数从0开始Array.Length 返回Array数组的所有元素的总数Array.Rank 返回Array数组的秩(维数)Array.GetLength(int)返回Array数组的指定维中的元素个数,static void PrintArray(int,w)for(int i=0;i w.GetLength(0);i+)for(int j=0;j w.GetLength(1);j+)Console.Write(a0,1=2,-5,i,j,wi,j);Console.WriteLine();,练习,int,myArr=1,2,3,3,4,5,5,6,7,7,8,9;则 myArr.Length=?myArr.GetLength(1)=?myArr.Rank=?myArr.GetLowerBound(0)=?,【返回】,(3)交错数组,交错数组的元素是数组(数组的数组).交错数组元素的维度和大小可以不同。,列元素个数可不一样,声明方式:int jaggedArr=new int4;初始化方式1:jaggedArr0=new int6 1,3,5,7,9,11;jaggedArr1=new int2 1,1;jaggedArr2=new int3 2,4,6;jaggedArr3=new int5 1,0,0,0,1;,交错数组初始化,初始化方式2:在声明数组时将其初始化:int jaggedArr=new int4 new int 1,3,5,7,9,11,new int 1,1,new int 2,4,6,new int 1,0,0,0,1;,每个元素都是数组,new不能少,交错数组示例,using System;public class ArrayClass static void PrintArray(int w)for(int i=0;i w.Length;i+)Console.Write(第0行:,i);for(int j=0;j wi.Length;j+)Console.Write(0,-2,wij);Console.WriteLine();public static void Main()int jaggedArr=new int4;jaggedArr0=new int 1,3,5,7,9,11;jaggedArr1=new int 1,1;jaggedArr2=new int 2,4,6;jaggedArr3=new int 1,0,0,0,1;PrintArray(jaggedArr);,交错数组的属性:w.Length:返回w数组的行数wint.Length:返回w数组指定行中的元素个数,下面声明和初始化一个一维交错数组,该数组包含大小不同的二维数组元素:int,myJaggedArray=new int 3,new int,1,3,5,7,new int,0,2,4,6,8,10,new int,11,22,99,88,0,9;问题:myJaggedArray11,0 myJaggedArray21,1,2.6 动态数组ArrayList,ArrayList类是一个可以动态改变数组长度的特殊数组。优点支持自动改变大小的功能可以灵活的删除、插入元素提供大量的操作方法局限性跟一般的数组比起来,速度上差些,如何创建ArrayList,方式1:ArrayList al1=new ArrayList();/该实例具有默认初始容量,但没有任何元素方式2:ArrayList al2=new ArrayList(al1);/用已有的集合类来创建新的ArrayList,新老容量相同方式3:ArrayList al3=new ArrayList(10);/用一个整数值来初始化ArrayList容量,添加命名空间:using System.Collections;,遍历ArrayList数组,static void DisplayAL(ArrayList al)if(al.Count=0)Console.WriteLine(数组没有元素);foreach(object s in al)Console.WriteLine(Convert.ToString(s);,for(int i=0;ial.Count;i+)Console.WriteLine(ali);,重要方法,Add将单个对象添加到ArrayList的尾部示例:ArrayList al=new ArrayList();al.Add(a);al.Add(b);数组内容为ab。,重要方法,AddRange将集合实例添加到ArrayList的尾部示例:ArrayList al=new ArrayList();al.Add(a);al.Add(b);string strs=c,d,e;al.AddRange(strs);数组内容为abcde。,读一读,ArrayList al1=new ArrayList();al1.Add(a);al1.Add(b);string strs=c,d,e;ArrayList al2=new ArrayList(strs);al2.Add(xyz);al1.AddRange(al2);,重要方法,Insert将单个对象插入到ArrayList的指定索引处示例:ArrayList al=new ArrayList();al.Add(a);al.Add(b);al.Insert(0,aa);数组内容为aaab。,重要方法,InsertRange将集合实例插入到ArrayList的指定索引处示例:ArrayList al1=new ArrayList();al1.Add(a);al1.Add(b);string strs=c,d,e;ArrayList al2=new ArrayList(strs);al1.InsertRange(1,al2);数组al1内容为acdeb。,重要方法,Remove(object obj)从前(索引0)往后查找,删除找到的第一个和 obj 相同的元素。RemoveAt(int index)删除索引index对应的元素。RemoveRange(int index,int count)从索引index开始,删除count个元素。,示例:string strs=a,b,b,c,d,c,d;ArrayList al1=new ArrayList(strs);al1.Remove(b);al1.RemoveAt(0);al1.RemoveRange(3,2);/参数分别为index和count最终数组内容为bcd。,注意:删除元素后,后面的元素会前移。,重要方法,Clear从ArrayList中移除所有元素示例:string strs=a,b,c,d;ArrayList al1=new ArrayList(strs);al1.Clear();,重要方法,Contains确定某元素是否在 ArrayList 中(true/false)示例:string strs=a,b,c,d;ArrayList al1=new ArrayList(strs);if(al1.Contains(a),重要方法,Sort对ArrayList 或它的一部分中的元素进行排序。示例:ArrayList al=new ArrayList();al.AddRange(new string4China,Korea,America,Russia);al.Sort();/默认升序查资料:如何自定义排序顺序?,重要方法,Reverse将 ArrayList 或它的一部分中元素的顺序反转。示例:

    注意事项

    本文(第2章C程序设计.1.ppt)为本站会员(sccc)主动上传,三一办公仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三一办公(点击联系客服),我们立即给予删除!

    温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。




    备案号:宁ICP备20000045号-2

    经营许可证:宁B2-20210002

    宁公网安备 64010402000987号

    三一办公
    收起
    展开