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

 

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

上一篇:This result is a forward only result set, calling rewind() after moving forward is not supported


下一篇:关于asp.net C# 导出Excel文件 打开Excel文件格式与扩展名指定格式不一致的解决办法