C#程序设计简明教程-第2章C#语言基础 (字符串与数组).ppt

上传人:hyn****60 文档编号:70709518 上传时间:2023-01-25 格式:PPT 页数:36 大小:375.50KB
返回 下载 相关 举报
C#程序设计简明教程-第2章C#语言基础 (字符串与数组).ppt_第1页
第1页 / 共36页
C#程序设计简明教程-第2章C#语言基础 (字符串与数组).ppt_第2页
第2页 / 共36页
点击查看更多>>
资源描述

《C#程序设计简明教程-第2章C#语言基础 (字符串与数组).ppt》由会员分享,可在线阅读,更多相关《C#程序设计简明教程-第2章C#语言基础 (字符串与数组).ppt(36页珍藏版)》请在taowenge.com淘文阁网|工程机械CAD图纸|机械工程制图|CAD装配图下载|SolidWorks_CaTia_CAD_UG_PROE_设计图分享下载上搜索。

1、章节目录章节目录上一页上一页下一页下一页第第2章章 C#语语言言基础基础(字符串与数组字符串与数组)一、字符串一、字符串除除了了具具体体char类类型型外外,C#还还具具备备了了string类类型型,专专门门用用于于处处理理一一个个以以上上的的字字符符即即字字符符串串,使使用用非非常常方方便便,string字字符符串串常常量用双引号引起来。量用双引号引起来。定义两种方法:定义两种方法:string st=abckjh;char st=I,a,m;1vstring对象的值是该有序集合的内容,并且该值是不可变的,根据字符在字符串中的不同位置,字符在字符串中有一个索引值,可以通过索引值获取字符串中的

2、某个字符。字符在字符串中的索引从0开始。看下面的示例:vstaticvoidMain(stringargs)vvstringstr=字符与字符串;vConsole.WriteLine(字符串str中第一个字符是:0,str0);v/输出字符串中的第一个字符-字vConsole.WriteLine(字符串str中第二个字符是:0,str1);v/输出字符串中的第二个字符-符vConsole.Read();vv字符串运算除了可以用连接运算符+把两个字符连接在一起外,还常常用到下面几个方法2v(1)compare方法v用来比较两个字符串是否相等,使用格式如下:vintstring.Compare(s

3、tringstr1,stringstr2)v其中Str1,str2是两个比较的字符串。如果str1str2的话,返回1;str1=str2返回0;str1str2返回1;相同返回0;小于返回1v(3)IndexOf方法v该方法的作用是查找一个字符在一个字符串第一次出现的位置,使用格式为:v格式:字符串.(字符)v它还有另一个作用是查找一个字符在一个字符串最后一次出现的位置。使用格式:v字符串.LastIndexOf(字符)3(4)Substring方法该方法可以截取字符串中指定位置和指定长度的字符,使用格式:字符串.Substring(intstartindex,intlength)其中sta

4、rtindex为子字符串开始位置,length为要取的字符串长度。例:stringstrA=字符串截取函数Substring测试示例;stringstrB=;strB=strA.Substring(5,6);(5)Insert方法用于向字符串的任意位置插入新元素,使用方法:字符串.Insert(intstartIndex,stringvalue);其中startindex为要插入字符的位置,value为要插入的字符串。例:stringstrA=字符串示例;stringstrInsert=插入;stringstrResult=strA.Insert(3,strInsert);4(6)求字符串长度

5、:字符串.Length;(7)大小写转换字符串.ToLower();/转小写字符串.ToUpper();/转大写(8)删除首尾空格字符串.Trim();51.一维数组的定义、分配与使用一维数组的定义、分配与使用所谓一维数组是指只有一个下标的数组。数组在使用之前必须先定义(或称声明)和分配空间,然后才能使用数组元素。(1)格式:数据类型符 数组名=new 数据类型符长度;二、二、数组数组数组是一些具有相同类型的数据按一定顺序组成的序列,数组中的每一个数据都可以通过数组名及唯一一个索引号(下标)来存取。6例如,有下列语句:int a=new int 10;/定义了一个数组a,该数组的数据类型是in

6、t,具有10个元素。其实数组的声明与分配可以写成两条语句,上述语句也可以写成:int a;/定义数组a=new int 10;/给数组分配存储空间 7与C/C+不同的是,C#中的数组的大小可以动态确定,如有以下语句:int AL=6;int a=new intAL;这两条语句定义了一个长度为6的数组a。82定义数组时对数组元素进行初始化例如,有下列语句:int x=1,2,3,4;该语句定义了具有4个元素的数组x,并依次给x0、x1、x2和x3赋初值1、2、3和4。上述语句也可以写成:intx=newint1,2,3,4;或intx=newint41,2,3,4;格式:数据类型符数组名=初值列

7、表;3数组元素的引用引用一维数组元素的一般形式如下:数组名下标9例如,有定义语句:int a=new int 5;那么a数组具有元素a0、a1、a2、a3和a4。【例】循环显示数组各元素。程序如下:10v补充:求一组数中的最大值及下标vusingSystem;vclassA_1vpublicstaticvoidMain()vconstintN=10;/定义一个常量用来表示数组元素个数vinta=newintN;/定义具有N个元素的数组avinti,max,max_i;/max变量用来记最大值,max_i变量用来记最大值的下标vRandomrandObj=newRandom();/生成随机数变量

8、vfor(i=0;iN;i+)vai=randObj.Next(10,99);/*产生随机数并赋值给数组元素*/11vmax=a0;max_i=0;/*首先认为最大值为第一个元素*/vfor(i=2;iN;i+)/*该循环求最大值与最大值的位置*/vif(maxai)max=ai;max_i=i;vfor(i=0;i0)i=m%10;k1=k1*10+i;m=m/10;label1.Text=;if(k1=k)label1.Text=k.ToString()+是回文数;elselabel1.Text=k.ToString()+不是回文数;14再看C#的做法vinti=0,len;vintt=1

9、;vstrings=textBox1.Text;vlen=s.Length;vwhile(ilen/2)vvif(si!=slen-1-i)t=0;vi+;vvlabel1.Text=;vif(t=1)vlabel1.Text=s.ToString()+是回文数;velsevlabel1.Text=s.ToString()+不是回文数;v15一维数组的典型应用:【例】随机产生十个两位数,然后利用选择法把它们从小到大排序。程序如下:16v先声明数组inta;v接下来a申请内存空间va=newint10;/avRandoms=newRandom();/定义一个随机变量svstringstr=;vf

10、or(inti=0;i10;i+)/把十个随机数打印出来vvai=s.Next(10,100);/每次产生一个2位数vstr=str+ai.ToString();vvlabel1.Text=10个数是:+str;17vintmin,min_i,t;vinti,j;vfor(i=0;i9;i+)/*外层循环用来控制一共需排几次*/vvmin=ai;min_i=i;/*每轮首先认为该轮的第一个元素为最小值*/vfor(j=i+1;jaj)min=aj;min_i=j;v/*最小值与后面的元素比较,若后面的元素值小,则记下它的值和它的下标*/vif(min_i!=i)/*如果最小值不是该轮的第一个元

11、素,则交换*/vt=amin_i;amin_i=ai;ai=t;vv/下面是排好后vstringstr=;vfor(i=0;i1000是退出循环。是退出循环。分析:该例属于循环中语句转移的情况,本例分析:该例属于循环中语句转移的情况,本例中使用中使用listBox控件用于显示控件用于显示sum的值,使的值,使用用button控件实现该事件。程序设计如图控件实现该事件。程序设计如图6-12所示。所示。章节目录章节目录上一页上一页下一页下一页图6-12 计算sum的值22【计算计算】按钮的按钮的Click(单击)事件代码为:单击)事件代码为:private void button1_Click(o

12、bject sender,System.EventArgs e)int k=1;int sum=0;while(k1000)break;章节目录章节目录上一页上一页下一页下一页232 组合框(组合框(ComboBox)组合框是一个文本框和一个列表框的组合。与组合框是一个文本框和一个列表框的组合。与列表框不同的是列表框只能在给定的列表项中选择,列表框不同的是列表框只能在给定的列表项中选择,而组合框除了可在给定的列表项中选择还可以直接而组合框除了可在给定的列表项中选择还可以直接在文本框中输入(在文本框中输入(DropDownStyle属性被设置属性被设置DropDownList时除外)。时除外)。

13、1.ComboBox常用属性和事件常用属性和事件P116-117vcomboBox1.Items.Add增加项目vcomboBox1.Items.Remove移走项目 其余的与列表框类似其余的与列表框类似2.ComboBox应用实例应用实例章节目录章节目录上一页上一页下一页下一页24【例例6-12】要求单击要求单击【开始开始】按钮,将两个组合框按钮,将两个组合框中指定的年份范围内的所有闰年输出到列表框中。中指定的年份范围内的所有闰年输出到列表框中。图图6-14为显示为显示19552005年之间的所有闰年的结年之间的所有闰年的结果。果。章节目录章节目录上一页上一页下一页下一页 图图6-14 程序

14、运行结果程序运行结果 25(1)设计程序界面。设计程序界面。(2)设置对象属性。设置对象属性。(3)编写程序代码。编写程序代码。private void btnStart_Click(object sender,System.EventArgs e)/如果任一组合框中没有选定年份,则不执行任如果任一组合框中没有选定年份,则不执行任何操作何操作 if(cboStart.SelectedIndex=-1|cboEnd.SelectedIndex=-1)return;章节目录章节目录上一页上一页下一页下一页26 int yearStart=int.Parse(cboStart.SelectedIte

15、m.ToString();int yearEnd=int.Parse(cboEnd.SelectedItem.ToString();if(yearStartyearEnd)return;lstOut.Items.Clear();/清除上次判断显示的内容清除上次判断显示的内容 for(int i=yearStart;i=yearEnd;i=i+1)if(i%4=0&i%100!=0|i%400=0)lstOut.Items.Add(i);/将闰年的年份追加到列表框将闰年的年份追加到列表框章节目录章节目录上一页上一页下一页下一页27【清除清除】按钮被单击时执行的事件代码如下:按钮被单击时执行的事件

16、代码如下:private void btnClear_Click(object sender,System.EventArgs e)lstOut.Items.Clear();/清空列表清空列表章节目录章节目录上一页上一页下一页下一页28三三、多维数组的定义、分配与使用多维数组的定义、分配与使用 一维数组只有一个下标,多维数组具有多个下标,要引用多维数组的数组元素,需要使用多个下标。多维数组中最常用的是二维数组。所谓二维数组,就是有两个下标的数组,适合处理如成绩报告表、矩阵等具有行列结构的数据。与C/C+不同的是,C#的二维数组的每一行的数组元素个数可以相等,也可以不相等。每行数组元素个数相等的

17、二维数组称为方形二维数组,各行数组元素个数不同的称参差数组。29(1)定义与分配格式:数据类型符 ,数组名=new 数据类型符长度1,长度2;例如,有下列语句:int,a=new int 3,4;/定义了一个数组a,该数组的数据类型是int,具有12个元素。其实上述数组的声明与分配可以写成两条语句上述语句也可以写成:int ,a;/定义数组a=new int 3,4;/给数组分配存储空间30二维数组的逻辑结构 31 (2)赋初值格式:数据类型符,数组名=初值列表1,初值列表2,初值列表n;例如,有下列语句:int,b=1,2,3,4,5,6,7,8,9,10,11,12;上述语句也可以写成:i

18、nt,a=newint3,41,2,3,4,5,6,7,8,9,10,11,12;(3)元素引用引用方形二维数组元素的一般格式如下:数组名下标1,下标2/注与C语言不同如a2,3=4;32【实例求每个人平均分】某班有M名同学,本学期开了N门课,期末考试后,要统计每个学生的平均分。请你编写一个程序实现该功能。(实例)33数组列表ArrayListvArrayList就是动态数组,用MSDN中的说法,就是Array的复杂版本,它提供了如下一些好处:v动态的增加和减少元素v灵活的设置数组的大小34v首先,必须增加空间vusingSystem.Collectionsv如何使用如何使用ArrayList

19、对象对象()增加对象()增加对象ArrayList对象对象.Add(对象)v()移除对象ArrayList对象对象.Remove(对象)v()插入对象ArrayList对象对象.Insert(对象)v(4)排序ArrayList对象对象.Sort();v(5)清除内容ArrayList对象对象.Clear();v引用ArrayList对象下标或对象下标或 ArrayList对象对象v最简单的例子:ArrayListList=newArrayList();for(inti=0;i10;i+)/给数组增加10个Int元素List.Add(i);例:ArrayList使用35章节目录章节目录上一页上一页下一页下一页 Sort方法ArrayList对象的Sort方法可以将数组中的元素按升序排列。数组与数组列表都具有Sort方法,但使用的格式不同。数组的Sort方法使用格式为:Array.Sort(数组名称数组名称);数组列表ArrayList对象的Sort方法使用格式为:数组列表对象数组列表对象.Sort();36

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 生活休闲 > 生活常识

本站为文档C TO C交易模式,本站只提供存储空间、用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。本站仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知淘文阁网,我们立即给予删除!客服QQ:136780468 微信:18945177775 电话:18904686070

工信部备案号:黑ICP备15003705号© 2020-2023 www.taowenge.com 淘文阁