您好,欢迎访问三七文档
数组和集合C#不仅提供了像整型、字符型、布尔型等数据类型,而且还提供了数组和集合。数组和集合可以方便地组织和使用数据,可以让程序变的简单。主要内容一维数组的用法二维数组的用法任务1任务功能:创建一个一维数组,用于存储10个学生的考试成绩,并显示10个考试成绩。学习目的:学习数组的概念;学习一维数组的声明、初始化和遍历;程序代码privatevoidbutton1_Click(objectsender,EventArgse){int[]score={89,56,67,90,78,45,93,80,88,70};textBox1.Text=数组元素:;foreach(intiinscore)textBox1.Text=textBox1.Text+\r\n++Convert.ToString(i);}相关知识1数组的概念数组是具有名称的、包含一组具有相同类型的变量的集合。1、数组元素数组中的变量称为数组元素,每个数组元素使用一个称为“索引”或“下标”的数字来区分它们。2、数组维数如果只用一个下标就能确定某个数组元素在数组中的位置,这样的数组称为一维数组。相关知识2一维数组的声明和初始化1、数组的声明数组应当先声明后使用。数组的声明格式:类型[]数组名;2、数组的初始化声明了数组后,就必须为数组分配内存,以保存数组的所有元素,这就是数组的初始化,初始化有下面四种方式。(1)第一种方式例如:int[]score=newint[10];string[]weekdays=newstring[7];(2)第二种方式例如:int[]score={89,56,67,90,78,45,93,80,88,70};string[]weekdays={Sun,Mon,Tue,Wed,Thu,Fri,Sat};(3)第三种方式int[]score=newint[10]{89,56,67,90,78,45,93,80,88,70};string[]weekdays=newstring[7]{Sun,Mon,Tue,Wed,Thu,Fri,Sat};(4)第四种方式int[]score;score=newint[]{89,56,67,90,78,45,93,80,88,70};3、一维数组的遍历用foreach循环数组的遍历就是对数组的所有元素逐个进行访问,例如显示数组里所有的元素。foreach循环就是为简化对数组或集合的循环访问而设计的。foreach(类型变量名in数组名){循环体}用for循环一维数组的遍历还可以使用for循环。for(inti=0;iscore.Length;i++)textBox1.Text=textBox1.Text+\r\n+score[i];任务2任务功能:创建一个二维数组,用于存储学生的学号和考试成绩,显示所有学生的学号、考试成绩以及不及格学生的学号和考试成绩。学习目的:学习二维数组的声明、初始化和遍历程序代码privatevoidbutton1_Click(objectsender,EventArgse){int[,]cj={{1001,93},{1004,78},{1002,59},{1005,87},{2001,55}};//用for循环显示所有学生的学号和成绩,每行显示一个学生的学号和成绩textBox1.Text=学生成绩;for(inti=0;icj.GetLength(0);i++)for(intj=0;jcj.GetLength(1);j++){if(j==1)//判断是否换行textBox1.Text=textBox1.Text+\t+Convert.ToString(cj[i,j]);elsetextBox1.Text=textBox1.Text+\r\n+Convert.ToString(cj[i,j]);}//显示不及格学生的学号和成绩textBox1.Text=textBox1.Text+\r\n+不及格的学生;for(inti=0;icj.GetLength(0);i++)if(cj[i,1]60)textBox1.Text=textBox1.Text+\r\n+Convert.ToString(cj[i,0])+\t+Convert.ToString(cj[i,1]);}相关知识1二维数组的声明和初始化二维数组的声明和初始化同一维数组类似,只是在声明二维数组,需要在括号中加上一个逗号。例如:int[,]y=newint[3,4];相关知识2二维数组遍历采用for循环遍历二维数组:for(inti=0;icj.GetLength(0);i++)for(intj=0;jcj.GetLength(1);j++){if(j==1)textBox1.Text=textBox1.Text+\t+Convert.ToString(cj[i,j]);elsetextBox1.Text=textBox1.Text+\r\n+Convert.ToString(cj[i,j]);}任务3任务功能:随机产生10个1~100的整数,将数据按照从大到小的次序输出。单击“排序”命令按钮,在第一个文本框输出数组中数据的原序列,在第二个文本框输出升序序列,在第三个文本框输出降序序列。学习目的:学习Array类及其成员;学习数组的排序和反转;程序代码privatevoidbutton1_Click(objectsender,EventArgse){Randomra=newRandom();int[]score=newint[10];for(inti=0;i10;i++){score[i]=ra.Next(1,100);}textBox1.Text=数组原序列:;foreach(intiinscore){textBox1.Text=textBox1.Text+\r\n+Convert.ToString(i);}//对一维数组升序排序Array.Sort(score);textBox2.Text=数组升序序列:;foreach(intiinscore){textBox2.Text=textBox2.Text+\r\n+Convert.ToString(i);}//反转一维数组Array.Reverse(score);textBox3.Text=数组降序序列:;foreach(intiinscore){textBox3.Text=textBox3.Text+\r\n+Convert.ToString(i);}}相关知识1Array类的常用属性1、Length属性表示数组所有维数中元素的总数。2、Rank属性表示数组中的维数。相关知识2Array类的常用方法1、Sort方法2、Reverse方法3、GetLength方法4、GetLowerBound与GetUpperBound方法相关知识3利用数组的Average方法、Sum方法、Max方法和Min方法可以求数组中所有元素的平均值、求所有元素的和、最大值和最小值。
本文标题:C#数组数组和集合
链接地址:https://www.777doc.com/doc-4887278 .html