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

     

  • 相关阅读:
    Java SSM 框架相关基础面试题
    JPanel JScrollPanel
    Spring MVC 的 Converter 和 Formatter
    JDesktopPane JInternalFrames
    Spring MVC 中的 forward redirect Flash属性
    Java Swing 中使用 EventQueue
    Java 中转换为String类型的四种方法
    Eclipse 安装使用 M2Eclipse 插件
    正则表达式
    Spring MVC 数据绑定和表单标签库
  • 原文地址:https://www.cnblogs.com/hcx999/p/5732629.html
Copyright © 2011-2022 走看看