当前位置:文档之家› WinForm3、数组、流程控制和WinForm基本控件

WinForm3、数组、流程控制和WinForm基本控件


1.2 多维数组
多维数组:指维数大于1的数组,常用的是二维。 下面的3条语句作用相同,都是创建一个3行2列的数组: int[,] n1 = new int [3, 2] { {1, 2}, {3, 4}, {5, 6} }; int[,] n2 = new int [,] { {1, 2}, {3, 4}, {5, 6} }; int[,] n3 = { {1, 2}, {3, 4}, {5, 6} }; 下面的语句创建一个三维数组: int[ , , ] array3D = new int[,,] { { { 1, 2, 3 }, { 4, 5, 6 } }, //本例由两个二维数组构成 { { 7, 8, 9 }, { 10, 11, 12 } } };
1.5 例3-1 演示数组编程
(1)设计一个类ArrayExample,用来演示数组的用法: 参见文件“源程序.txt” (2)制作如图所示窗体: 其中TextBox的属性, 设置为Multiline=true; textBox1.ScrollBars = ScrollBars.Both; Wordwrap = false;
1.break语句 退出最近的封闭switch、while、do、for或foreach语句。 2.continue语句 将控制直接传递给下一次循环,此语句可以用在while、do、 for或foreach语句块的内部。 3.return语句 将控制返回到出现return语句的函数成员的调用方。 格式: return; 或 return 表达式 ; 带表达式的return语句用于方法的返回类型不为null的情况。
1.5 例2-1 演示数组编程
【例2-1】编写一个WinForm应用程序,演示数组的声明与初始 化,并分别输出数组的秩、数组长度以及数组中的每个元素的 值。 演示利用Random类产生随机数的方法,并利用随机数填充数组
13
说明:Random类概述
System.Random用于产生伪随机数。 随机数的生成是对一个称为“种子”的值进行处理,按 照某个算法计算而得。 如果反复使用同一个种子,就会生成相 同的数字系列。 产生不同序列的一种方法是使种子值与时间相 关,从而对于 Random 的每个新实例,都会产生不同的系列。 因为时钟的分辨率有限,所以,如果使用无参数构造函 数连续创建不同的 Random 对象,就会创建生成相同随机数序 列的随机数生成器。 通过创建单个Random 对象,然后随时间推移生成多个随 机数,可以避免此问题。
1.4 数组的常用操作方法
1.数组的统计运算 Average方法、Sum方法、Max方法和Min方法。 2、字符串数组和字符串之间的转换 可直接用string的静态Join方法和静态Split方法实现字符串 和字符串数组之间的转换。 Join方法相当于将多个字符串插入分隔符后合并在一起。 public static string Join( string separator, string[] value ) 例如: string[] books = {"Java","C#","C++","" }; Console.WriteLine(string.Join(",",books));
2.4 异常处理语句
概念 异常是程序运行过程中可能出现的不正常的情况,例如除以0、通信 失败等。可以编程捕获异常并加以处理,如给用户提示或退出程序等。 从程序设计的角度看,错误与异常的主要区别在于,错误可以通过 修改程序解决或避免,例如语法错误和运行时的逻辑错误。异常是指无法通 过程序手段加以避免的问题,如在通信过程中网线断开,这个问题无法通过 程序本身来避免,这就是一个异常。 在程序运行过程中出现异常,运行时系统(CLR)会自动生成一个与 该异常相对应的异常类对象,并在程序中寻找代码处理异常,如果找不到处 理代码,程序将弹出异常对话框,提示是否退出。 一般通过try、catch、finally语句来捕获和处理异常。 通常在容易出现异常的场合使用try-catch语句,例如验证用户输入、 文件存盘、建立通信连接等。如果程序只对内存操作,一般不需要异常处理 语句。
1.4 数组的常用操作方法
2.数组元素的复制、排序与查找 常用有: Copy方法:将一个数组中的全部或部分元素复制到另一个 数组中。 Sort方法:使用快速排序算法,将一维数组中的元素按照升 序排列。 Reverse方法:反转一维数组中的元素。 另外,还可以使用该类提供的Contains方法和IndexOf方法 查找指定的元素。
1、数组
数组的秩(rank)是指数组的维数,如一维数组秩为1,二维 数组秩为2。 数组长度是指数组中所有元素的个数。例如: int[] a = new int[10]; //10个元素,分别为a[0]、a[1]……a[9] int[ , ] b = new int[3, 5]; //长度为3*5=15,其中第0维长度为3,第1维长度为5
Windows程序设计
本讲主要内容
1、数组 一维数组 多维数组 交错数组 2、流程控制语句 顺序流程 分支语句 循环语句 异常处理语句 3、 WinForm常用控件 4、Windows窗体应用程序实例:无纸考试系统
1、 数组
数组表示相同类型的对象的集合。 数组是引用类型。 声明数组类型是通过在某个类型名后加一对方括号来构造的。
for ( 初始值 ; 循环条件 ; 循环控制 ) {
2.2 循环语句
语句序列
}
2.foreach语句
foreach ( 类型 标识符 in 表达式 ) {
语句序列
}
3.while语句
while (条件表达式) {
4.do语句 do {
语句序列
}
语句序列 }while (条件表达式);
2.3 跳转语句
1.1 一维数组
元素个数确定后,数组的长度就确定了。例如: int[] a1 = new int[30]; //a1共有30个元素,分别为a1[0]~a1[29] int number = 10; string[ ] a2 = new String[number]; // a2共有numer个元素 也可以在声明语句中直接用简化形式为各元素赋初值,例如: string[] a = {"first","second","third"}; 或string[ ] a = new string[ ]{"first","second","third"};
2.1 分支语句
C#语言提供了两种分支语句: 1、if语句 If{…} 、 if{…} else{…} 、 if{…} else if{…} if {…} else if{…} else if{…}… else{…} 2.switch语句 switch语句中可包含许多case块,每个case标记后可以指定 一个常量值。 常量值:指switch中的条件表达式计算的结果,例如: 字符串:"张三“ 字符:'a‘ 整数:25 另外还可以是枚举等。
常用数组的语法声明格式
数组类型 一维数组 二维数组 三维数组 交错数组 语 法 数据类型[ ] 数组名; 数据类型[,] 数组名; 数据类型[,,] 数组名; 示 例 int[ ] myArray; int[,] myArray; int[,,] myArray;
数据类型[ ][ ] 数组名; int[ ][ ] myArray;
2.1 分支语句
2.switch语句 switch (条件表达式)
{ case 常量1: …… default: {
语句序列1
break; case 常量2: }
语句序列n
break;
语句序列2
break;
}
包括for语句、while语句、do语句和forea组的下标默认从0开始索引。假如数组有30个元素,则一维 数组的下标范围为0~29。 可通过在中括号内指定下标来访问某个元素。例如: int[] a = new int[30]; a[0] = 23; // 为a数组中的第一个元素赋值23 a[29] = 67; // 为a数组中的最后一个元素赋值67 一维数组的Length属性表示数组的长度。例如: int arrayLength = a.Length; //值为30
1.1 一维数组
注意:不带new运算符的简化形式只能用在声明语句中。 比较下面的写法: string[] a1 = { "first", "second", "third" }; //正确 string[] a2 = new string[] { "first", "second", "third" }; //正确 string[] a3; a3 = { "first", "second", "third" }; //错误 string[] a4; a4 = new string[] { "first", "second", "third" }; //正确 Int[] a4 = new int[3]{1, 3, 5};//正确, 如果指定了数组长度,初始化时必须给所有元素赋值。
1.4 数组的常用操作方法
Split方法用于将字符串按照指定的一个或多个字符进行分离 得到一个字符串数组。常用语法为 public string[] Split( params char[] separator ) 例如: String s = “abc 12; 34, 56”; String[ ] sArray = s.Split( ‘ ‘, ‘ , ’, ‘ ; ‘); //以空格、逗号、分号为标志分割字符串s,分割后的各个 子串(不包括分割标志)成为sArray的一个元素。
相关主题