12、C#基础整理(结构体)

8/3/2015来源:C#应用人气:1116

12、C#基础整理(结构体)

结构体

1、概念:

结构体是写在main函数外的数据结构,由不同类型的数据组合成一个整体,这些组合在一个整体中的数据是互相联系的

2、声明方式:

struct 结构体名

{

成员变量(由类型名+成员名组成)

}

例:

public struct student//public是修饰符,可以不加,作用范围为整个命名空间{public int Code;//定义变量,每一个变量叫做结构体的属性public string Name;public string Sex;public int Age;public decimal Height;}

3、调用方法:

(1)初始化结构体(new一个)

(2)给结构体中的变量赋值

如:

//继续使用上面结构体的定义student ss = new student();ss.Code = 101;ss.Name = "zhangsan";ss.Sex = "nan";ss.Height =173;

4、用结构体对代码进行优化处理

----冒泡排序----

题目:输入学生个数,挨个输入姓名、身高、年龄,求平均年龄,然后按身高升序排出

思路:建立一个含有姓名、身高、年龄参数的结构体,再建立一个集合,通过for循环将每次初始化后的结构体类型带着三种数据放入集合中。

答案:

Console.WriteLine("输入学生个数:");int n = int.Parse(Console.ReadLine());ArrayList ar = new ArrayList();//建立集合填充数据int sum =0;for (int i = 0; i < n; i++){    student ss = new student();    Console.Write("请输入姓名:");    ss.Name =Console.ReadLine();    Console.Write("请输入年龄:");    ss.Age = int.Parse(Console.ReadLine());    Console.Write("请输入身高:");    ss.Height = int.Parse(Console.ReadLine().Trim());    ar.Add(ss);//在集合中增加一个student类型的数据    sum = sum+ss.Age;//算总分}for (int i = 0; i < n; i++){    for (int j = i; j < n; j++)    {        //建立中间值,将ar[i]、ar[j]强制转化为student的类型,然后判断身高        student s1 = (student)ar[i];        student s2 = (student)ar[j];        if(s1.Height<s2.Height)        {            ar[i] = s2;            ar[j] = s1;        }    }}foreach (student a in ar){    Console.Write("姓名:" + a.Name);    Console.Write("身高:" + a.Height);    Console.Write("年龄:" + a.Age);    Console.Write("\n");}