复杂的变量类型:枚举,结构,数组
事先考虑到某一变量可能取的值,尽量用自然语言中含义清楚的单词来表示它的每一个值,这种方法称为枚举方法,用这种方法定义的类型称枚举类型。
枚举是一个被命名的整型常数的集合,为一组在逻辑上密不可分的整数值提供的便于记忆的符号.用enum关键字来定义. / //程序名称:3-07.cs //程序功能:枚举类型的使用 / using System; enum WeekDay { Sunday,Monday,Tuesday,Wednesday,Thursday,Friday,Saturday //枚举中每个成员(标识符)结束符是",", 不是";", 最后一个成员可省略 "," } class Hello { static void Main() { WeekDay today; today = WeekDay.Monday; Console.WriteLine("今天是{0}.",today); } } 把一系列相关的变量组成一个单一的实体,就叫做结构.结构类型采用关键字"struct"来声明. struct类型是一种值类型,通常用来封装小型相关变量组,它不但可以包含不同数据类型的数据,还可以包含复合类型(数组,结构,DateTime等),除了以名字/值的方式出现,还可以有属性和方法,所以说,结构是一种非常强大的复合型数据. //程序名称:3-06.cs //程序功能:结构类型的使用 using System; struct Student { public string Name;//学生姓名 public uint Age; //年龄 public string Class;//班级 public uint Score;//分数 } public class Hello { public static void Main() { Student S; S.Name="王二"; S.Age = 21; S.Class = "03班"; S.Score = 98; Console.WriteLine("{0}同学,今年{1}岁,{2}学生,考试成绩为{3},祝贺你!!!", S.Name, S.Age, S.Class, S.Score); } } 数组是一组类型相同的有序数据.使用一个通用的名称,通过分配的下标来访问数据集合中的元素. / //程序名称:3-09.cs //程序功能:一维数组的使用 / using System; class Hello { static void Main() { int[ ] arr = new int[6]; for (int i = 0; i < arr.Length; i++) { arr[i] = i + i; } for (int j = 0; j < arr.Length; j++) { Console.WriteLine("arr[{0}]={1}",j,arr[j]); } } } //程序功能:二维数组的使用 string[,] abcd = new string[2,4]; abcd[0,0] = "aa"; abcd[0,1] = "ab"; abcd[0,2] = "ac"; abcd[0,3] = "ad"; abcd[1,0] = "ba"; abcd[1,1] = "bb"; abcd[1,2] = "bc"; abcd[1,3] = "bd"; for (int i = 0; i < abcd.Rank; i++) { for (int j = 0; j <= abcd.GetUpperBound(abcd.Rank-1); j++) { Response.Write("<br>" + abcd[i,j].ToString()); } } |
public struct Book
{ public int price; public string title; public string author; public int ok; } enum em { abc = 0, bcd = 1, cde = 2 } enum ee {abc, bcd, cde}; enum ff {aaa = 2, bbb = 5, ccc = 9 }; //如果不想从0开始,并且不遵循单向递增的规律,可以直接赋值. protected void Page_Load(object sender,EventArgs e) { Book bok = new Book(); bok.title = "我是标题"; bok.price = 32; bok.author = "我是作者" bok.ok = Convert.ToInt32(ee.bcd); Label1.Text = "第一行的数据是:" + bok.title; Label2.Text = "第二行的数据是:" + bok.price; Label3.Text = "第三行的数据是:" + bok.author; if(bok.ok ==1) { Label4.Text = "aaaa; } else { Label4.Text = "bbbb"; } } |