C#集合

 

集合(Collection)类是专门用于数据存储和检索的类。这些类提供了对栈(stack)、队列(queue)、列表(list)和哈希表(hash table)的支持。大多数集合类实现了相同的接口。

集合(Collection)类服务于不同的目的,如为元素动态分配内存,基于索引访问列表项等等。这些类创建 Object 类的对象的集合。在 C# 中,Object 类是所有数据类型的基类。

  1. 已知有一个 Worker 类下:
public class Worker

{

    private int age;

    private string name;

    private double salary;
    public Worker ()
    {

    }
    public Worker (String name, int age, double salary)
    {

        this.name = name; 
        this.age = age;
        this.salary = salary;

    }

    public void work(){
    
        Console.WriteLine("姓名:" + name + " 年龄:" + age + " 工资:" + salary + " work");
    
        }
}

完成下面的要求

  1. 创建一个 List,在 List 中增加三个工人,基本信息如下:

姓名     年龄    工资

zhang3   18      300    

li4      25      3500 

wang5    22      3200

  1. 在 li4 之前插入一个工人,信息为:姓名:zhao6,年龄:24,工资 3300
  2. 删除 wang5 的信息
  3. 利用 for 循环遍历,打印 List 中所有工人的信息

 

        static void Main(string[] args)
        {
            //1.
            //完成下面的要求
            //1) 创建一个 List,在 List 中增加三个工人,基本信息如下:
            //姓名 年龄  工资
            //zhang3  18  300
            //li4 25  3500
            //wang5   22  3200

            List<Worker> list = new List<Worker>();
            Worker w1 = new Worker("zhang3", 18, 300);
            Worker w2 = new Worker("li4", 25, 3500);
            Worker w3 = new Worker("wang5", 22, 3200);
            list.Add(w1);
            list.Add(w2);
            list.Add(w3);
            //2)	在 li4 之前插入一个工人,信息为:姓名:zhao6,年龄:24,工资 3300
            list.Insert(1, new Worker("zhao6", 24, 3300));
            //3)	删除 wang5 的信息
            list.RemoveAt(3);
            //4)	利用 for 循环遍历,打印 List 中所有工人的信息
            for (int i = 0; i < list.Count; i++)
            {
                list[i].work();
            }
        }

            3.有如下 List
            List<Student> list = new List<Student>();
            list.add(new Student(“Tom”, 18, 100, “class05”));
            list.add(new Student(“Jerry”, 22, 70, “class04”));
            list.add(new Student(“Owen”, 25, 90, “class05”));
            list.add(new Student(“Jim”, 30, 80, “class05”));
            list.add(new Student(“Steve”, 28, 66, “class06”));
            list.add(new Student(“Kevin”, 24, 100, “class04”));
            在这个 list 的基础上,完成下列要求:
            1) 计算所有学生的平均年龄

            2) 计算各个班级的平均分

    class Student
    {
        public  string name;
        public  int age;
        public  double score;
        public  string classNum;//班号 

        public Student(string v1, int v2, int v3, string v4)
        {
            this.name = v1;
            this.age = v2;
            this.score = v3;
            this.classNum  = v4;
        }
    }
        static void Main(string[] args)
        {
            //1) 计算所有学生的平均年龄
            List<Student> list2 = new List<Student>();
            list2.Add(new Student("Tom", 18, 100, "class05"));
            list2.Add(new Student("Jerry", 22, 70, "class04"));
            list2.Add(new Student("Owen", 25, 90, "class05"));
            list2.Add(new Student("Jim", 30, 80, "class05"));
            list2.Add(new Student("Steve", 28, 66, "class06"));
            list2.Add(new Student("Kevin", 24, 100, "class04"));
            int sum = 0;
            for (int i = 0; i < list2.Count; i++)
            {
                 sum+= list2[i].age;
            }
            Console.WriteLine("平均年龄:"+sum/list2.Count);
            //2) 计算各个班级的平均分
            int a = 0;
            double sum1 = 0;
            int b = 0;
            double  sum2 = 0;
            int c = 0;
            double sum3 = 0; 
            for (int i = 0; i < list2.Count; i++)
            {
                if (list2[i].classNum =="class05")
                {
                    sum1 += list2[i].score;
                    a++;
                }
                else if(list2[i].classNum == "class04")
                {
                    sum2 += list2[i].score;
                    b++;
                }
                else if (list2[i].classNum == "class06")
                {
                    sum3 += list2[i].score;
                    c++;
                }

            }
            Console.WriteLine("class04班级的平均分:"+sum1/a);
            Console.WriteLine("class05班级的平均分:"+sum2/b);
            Console.WriteLine("class06班级的平均分:"+sum3/c);
        }

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值