zoukankan      html  css  js  c++  java
  • C# 结构体、枚举类型 及 例题解析

    结构体 ~struct

    定义:

    结构体一般定义在Main函数上面,位于Class下面,作为一个类;一般情况Struct定义在Main函数前面,Main函数里面的地方都可以使用,参数前面加上public代表公用变量。

     

    格式:

    struct +结构体的名称

    {

    public int+变量名;

    public double+变量名;

    public string+变量名;

    }

    以上就是定义一个结构体的格式,里面包含许多种数据类型,如整形int,字符串string,带小数点decimal等;

    用法:

    (1)在Main函数外面定义了一个student类型的结构体,在Main主函数中使用:

     (2)然后为里面的每个元素赋值,结构体名+点+结构体里面变量名称=值。

     (3)赋值之后完成之后进行打印。

     

    枚举类型~Enum....{E}

    定义:

    枚举元素的默认基础类型为int。

    默认情况下,第一个枚举数的值为0,后面每个枚举数的值依次递增1。

    用法:枚举也可以指定数据类型,一般不指定。

    在定义枚举类型时,可以选择基类型,但可以使用的基类型仅限于long、int、short和byte。

    例题:

                1、 定义一个结构体,存放关于车辆的几个信息
                将所有车的信息都放入集合中
                车型号               价格(W)    轴距 (mm)         油耗(L/100km)
                宝马320Li           38              2920                      6.9
                宝马520Li           43              3108                     7.2
                宝马730Li            89              3210                       6.3
                奥迪A4L35TFSI   31              2869                        6.2
                奥迪A6L30TFSI   43              3012                        7.6
                奥迪A8L45TFSI   89              3122                        8.1
                奔驰C200L           35              2920                        6.1
                奔驰E260L           48              3014                        6.7
                奔驰S320L           93              3165                        8

    结构体:

            struct car
            {
                public string xinghao;
                public double jia;
                public double zhou;
                public double you;
            }

                ArrayList al = new ArrayList();
                car car1 = new car();
                car car2 = new car();
                car car3 = new car();
                car car4 = new car();
                car car5 = new car();
                car car6 = new car();
                car car7 = new car();
                car car8 = new car();
                car car9 = new car();
                car1.xinghao = "宝马320Li";
                car1.jia = 38;
                car1.zhou = 2920;
                car1.you = 6.9;
                al.Add(car1);
                car2.xinghao = "宝马520Li";
                car2.jia = 43;
                car2.zhou = 3108;
                car2.you = 7.2;
                al.Add(car2);
                car3.xinghao = "宝马730Li";
                car3.jia = 89;
                car3.zhou = 3210;
                car3.you = 6.3;
                al.Add(car3);
                car4.xinghao = "奥迪A4L35TFSI";
                car4.jia = 31;
                car4.zhou =2869;
                car4.you = 6.2;
                al.Add(car4);
                car5.xinghao = "奥迪A6L30TFSI";
                car5.jia = 43;
                car5.zhou = 3012;
                car5.you = 7.6;
                al.Add(car5);
                car6.xinghao = "奥迪A8L45TFSI";
                car6.jia = 89;
                car6.zhou = 3122;
                car6.you = 8.1;
                al.Add(car6);
                car7.xinghao = "奔驰C200L";
                car7.jia = 35;
                car7.zhou = 2920;
                car7.you = 6.1;
                al.Add(car7);
                car8.xinghao = "奔驰E260L";
                car8.jia = 48;
                car8.zhou = 3014;
                car8.you = 6.7;
                al.Add(car8);
                car9.xinghao = "奔驰S320L";
                car9.jia = 93;
                car9.zhou = 3165;
                car9.you = 8;
                al.Add(car9);

               1、现在想买一辆价格在50万以内的车,请给出车的型号以及价格
                #region
                for (int i = 0; i < al.Count; i++)
                {
                    car c = (car)al[i];
                    if (c.jia < 50)
                    {
                        Console.WriteLine("型号:{0},价格{1}",c.xinghao,c.jia);
                    }
                }
                Console.ReadLine();
                #endregion

              2、买得起豪车,可是很关心油耗,给查一下油耗最低的三辆车的型号以及油耗情况
                #region
                for (int i = 0; i < al.Count; i++)
                {
                    for (int j = i; j < al.Count - 1; j++)
                    {
                        car a = (car)al[i];
                        car b = (car)al[j+1];
                        if (a.you > b.you)
                        {
                            object zhong = al[i];
                            al[i] = al[j + 1];
                            al[j + 1] = zhong;
                        }
                    }
                }
                for (int i = 0; i < 3; i++)
                {
                    car c = (car)al[i];
                    Console.WriteLine("油耗最低的第{0}辆车的型号是{1},油耗为{2}",i+1,c.xinghao,c.you);
                }

                Console.ReadLine();
                #endregion

                3、买了车之后后座会经常坐人,所有我现在想要轴距大一些的车,前三名即可。要列出车的型号以及车的轴距
                #region
                for (int i = 0; i < al.Count; i++)
                {
                    for (int j = i; j < al.Count - 1; j++)
                    {
                        car a = (car)al[i];
                        car b = (car)al[j + 1];
                        if (a.zhou < b.zhou)
                        {
                            object zhong = al[i];
                            al[i] = al[j + 1];
                            al[j + 1] = zhong;
                        }
                    }
                }
                for (int i = 0; i < 3; i++)
                {
                    car c = (car)al[i];
                    Console.WriteLine("轴距最长的的第{0}辆车的型号是{1},轴距为{2}", i + 1, c.xinghao, c.zhou);
                }

                Console.ReadLine();
                #endregion

                5、有钱就是任性,就买最贵的,不买最好的,直接调出来最贵的车的所有信息
                #region
                double aa = 0;
                for (int i = 0; i < al.Count; i++)
                {
                    car a = (car)al[i];
                    if (aa < a.jia)
                    {
                        aa = a.jia;
                    }
                }
                for (int i = 0; i < al.Count; i++)
                {
                    car a = (car)al[i];
                    if (a.jia==aa)
                    {
                        Console.WriteLine("最贵的车的型号是{0},价格是{1},轴距是{2},油耗是{3}",a.xinghao,a.jia,a.zhou,a.you);
                    }
                }
                Console.ReadLine();
                #endregion

     

  • 相关阅读:
    解决Fatal error: Allowed memory size of 33554432 bytes exhausted
    VS2008 LINK : fatal error LNK1000: Internal error during IncrBuildImage
    天天算法01——左旋转字符串
    二叉排序数的判定
    数据结构绪论思维导图
    痛苦!很痛苦!
    【转】qt交叉环境编译
    [转]linux联想Y450屏幕亮度调节
    【转载】arm指令
    HTTP请求和响应——GET与POST区别以及SOAP(网络整理)
  • 原文地址:https://www.cnblogs.com/hcx999/p/5732629.html
Copyright © 2011-2022 走看看