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; }
}
}