C#泛型集合list的使用

List 集合名=new List();
  在泛型定义中,泛型类型参数“”是必须指定的,其中T是定义泛型类时的占位符,其并不是一种类型,仅代表某种可能的类型。在定义时T会被使用的类型代替。泛型集合List中只能有一个参数类型,“”中的T可以对集合中的元素类型进行约束。注意:泛型集合必须实例化,实例化时和普通类实例化时相同,必须在后面加上“()”。
以下就以几种用法来说明:
1.存储一种类型的数据:T的类型为int型数据

///在List中添加单个数据
           ///
            List<int> data = new List<int>();
            //在list中添加的是int类型的数据;
            int data1 = 100;
            data.Add(data1);
            Console.WriteLine("显示的是Int类型数据{0}",data[0]);
            Console.WriteLine();

2.存储一个一维数组:T的类型为一维数组

 ///在list中存int类型数组数据;
            List<int[]> dataArray = new List<int[]>();
            //这里存着的是Int型的一维数组;
            int[] Array1 = new int[3] { 1, 2, 3 };
            dataArray.Add(Array1);

            int[] Array2 = new int[4] { 4, 5, 6, 7 };
            dataArray.Add(Array2);

            Console.WriteLine(dataArray[0][0]);
            //这里显示的是第一个数组里面的第一个数据;

            Console.WriteLine(dataArray[1][0]);
            //这里显示的是第二个数组里面的第一个数据;
            //这里可以看出在list中存储的类型,存入该类型后,会自动存入该类型内部的数据;

3.存入一个二维数组:T的类型为二维数组

  ///下面存放的二维数组
            List<int[,]> TwoDimension = new List<int[,]>();
            int[,] two = new int[2,2];
            two[0,0] = 1;
            two[1,0] = 1;
            TwoDimension.Add(two);
            Console.WriteLine("第一个二维数组中存储的数据是"+" "+TwoDimension[0][0,0]);
            int[,] two1 = new int[2, 2];
            two[0, 0] = 2;
            two[1, 0] = 2;
            TwoDimension.Add(two);
            Console.WriteLine("第二个二维数组中存储的数据是" + " " + TwoDimension[1][0, 0]);

            TwoDimension[1][0, 0] = 4;

            Console.WriteLine("第二个二维数组中赋值后的数据" + " " + TwoDimension[1][0, 0]);

4.存入一个类:T的类型为一个类

 public class student
    {

        public string StuName { get; set; }

        public string StuClass { get; set; }
     
        public int Score { get; set; }


    }

 ///在list中存放类类型,比如添加一个学生的类;
            ///在类中存储的是学生的姓名,班级,分数三个信息;
            ///在list中存储的是学生的类,存储后就可以访问类中的数据;
            List<student> students = new List<Listlei.student>();
            student stu = new student();
            stu.StuName = "小王";
            stu.StuClass = "三班";
            stu.Score = 100;
            //将第一个学生的数据所在的列存在列表中,占据列表的第一个位置list[0]
            students.Add(stu);

            student  stu1 = new student();
            stu1.StuName = "小李";
            stu1.StuClass = "四班";
            stu1.Score = 98;
            //将第二个学生的数据所在的列存在列表中,占据列表的第二个位置list[1]
            students.Add(stu1);
            
            Console.WriteLine("显示第一个学生的信息:"+students[0].StuName+"  "+students[0].StuClass+"  "+students[0].Score);
            Console.WriteLine();
            Console.WriteLine("显示第二个学生的信息:" + students[1].StuName + "  " + students[1].StuClass + "  " + students[1].Score);
            Console.WriteLine();
            foreach (student item in students)
            {
                Console.Write(item.StuName+"  "+item.StuClass+"  "+item.Score);
                Console.WriteLine();
            }

最后是整体代码及显示结果:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Listlei
{
    class Program
    {
        static void Main(string[] args)
        {
       
           ///在List中添加单个数据
           ///
            List<int> data = new List<int>();
            //在list中添加的是int类型的数据;
            int data1 = 100;
            data.Add(data1);
            Console.WriteLine("显示的是Int类型数据{0}",data[0]);
            Console.WriteLine();
            ///在list中存int类型数组数据;
            List<int[]> dataArray = new List<int[]>();
            //这里存着的是Int型的一维数组;
            int[] Array1 = new int[3] { 1, 2, 3 };
            dataArray.Add(Array1);

            int[] Array2 = new int[4] { 4, 5, 6, 7 };
            dataArray.Add(Array2);

            Console.WriteLine(dataArray[0][0]);
            //这里显示的是第一个数组里面的第一个数据;

            Console.WriteLine(dataArray[1][0]);
            //这里显示的是第二个数组里面的第一个数据;
            //这里可以看出在list中存储的类型,存入该类型后,会自动存入该类型内部的数据;

            ///下面存放的二维数组
            List<int[,]> TwoDimension = new List<int[,]>();
            int[,] two = new int[2,2];
            two[0,0] = 1;
            two[1,0] = 1;
            TwoDimension.Add(two);
            Console.WriteLine("第一个二维数组中存储的数据是"+" "+TwoDimension[0][0,0]);
            int[,] two1 = new int[2, 2];
            two[0, 0] = 2;
            two[1, 0] = 2;
            TwoDimension.Add(two);
            Console.WriteLine("第二个二维数组中存储的数据是" + " " + TwoDimension[1][0, 0]);

            TwoDimension[1][0, 0] = 4;

            Console.WriteLine("第二个二维数组中赋值后的数据" + " " + TwoDimension[1][0, 0]);

            ///在list中存放类类型,比如添加一个学生的类;
            ///在类中存储的是学生的姓名,班级,分数三个信息;
            ///在list中存储的是学生的类,存储后就可以访问类中的数据;
            List<student> students = new List<Listlei.student>();
            student stu = new student();
            stu.StuName = "小王";
            stu.StuClass = "三班";
            stu.Score = 100;
            //将第一个学生的数据所在的列存在列表中,占据列表的第一个位置list[0]
            students.Add(stu);

            student  stu1 = new student();
            stu1.StuName = "小李";
            stu1.StuClass = "四班";
            stu1.Score = 98;
            //将第二个学生的数据所在的列存在列表中,占据列表的第二个位置list[1]
            students.Add(stu1);
            
            Console.WriteLine("显示第一个学生的信息:"+students[0].StuName+"  "+students[0].StuClass+"  "+students[0].Score);
            Console.WriteLine();
            Console.WriteLine("显示第二个学生的信息:" + students[1].StuName + "  " + students[1].StuClass + "  " + students[1].Score);
            Console.WriteLine();
            foreach (student item in students)
            {
                Console.Write(item.StuName+"  "+item.StuClass+"  "+item.Score);
                Console.WriteLine();
            }



            Console.Read();
        }
    }
    public class student
    {

        public string StuName { get; set; }

        public string StuClass { get; set; }
     
        public int Score { get; set; }


    }
}

在这里插入图片描述

  • 2
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值