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

     

  • 相关阅读:
    hdu 2586 How far away ?(LCA模板题)
    Kattis
    SPOJ LEXSTR 并查集
    POJ 3159 Candies(spfa、差分约束)
    POJ 2240 Arbitrage (spfa判环)
    hdu 3974 Assign the task (线段树+树的遍历)
    POJ 2387 Til the Cows Come Home (dijkstra模板题)
    FZU 2150 Fire Game (高姿势bfs--两个起点)
    POJ 3414 Pots (dfs,这个代码好长啊QAQ)
    LightOJ 1422 Halloween Costumes
  • 原文地址:https://www.cnblogs.com/hcx999/p/5732629.html
Copyright © 2011-2022 走看看