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");

}

 

你可能感兴趣的:(结构体)