复杂的变量类型:枚举,结构,数组

来源:互联网 发布:刘宇昆 爱的算法 pdf 编辑:程序博客网 时间:2024/06/05 04:35

 复杂的变量类型:枚举,结构,数组  

事先考虑到某一变量可能取的值,尽量用自然语言中含义清楚的单词来表示它的每一个值,这种方法称为枚举方法,用这种方法定义的类型称枚举类型。
枚举是一个被命名的整型常数的集合,为一组在逻辑上密不可分的整数值提供的便于记忆的符号.用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";
    }
}
原创粉丝点击