C# FileInfoC# ArrayList(动态数组)
C# List(列表)
List
List
它在System.Collection.Generic命名空间下。
List
可以使用Add(),AddRange()方法或collection-initializer(集合初始化器)语法添加元素。
可以通过传递索引来访问元素,例如myList[0]。索引从零开始。
List
创建ListList
示例:在列表中添加元素List
primeNumbers.Add(1); // 使用add()方法添加元素
primeNumbers.Add(3);
primeNumbers.Add(5);
primeNumbers.Add(7);
var cities = new List
cities.Add("New York");
cities.Add("London");
cities.Add("Mumbai");
cities.Add("Chicago");
cities.Add(null);// 引用类型列表允许为null
//使用collection-initializer语法添加元素
var bigCities = new List
{
"New York",
"London",
"Mumbai",
"Chicago"
};在上面的示例中,
List
还可以使用集合初始化器(collection-initializer)语法添加自定义类的元素。下面示例在 List < Student > 中添加 Student 类的对象。
示例:在列表中添加自定义类对象var students = new List
new Student(){ Id = 1, Name="Bill"},
new Student(){ Id = 2, Name="Steve"},
new Student(){ Id = 3, Name="Ram"},
new Student(){ Id = 4, Name="Abdul"}
};在List中添加数组使用AddRange()方法将数组或另一个集合中的所有元素添加到List。
AddRange() 签名:
void AddRange(IEnumerable
var popularCities = new List
// 在列表中添加数组
popularCities.AddRange(cities);
var favouriteCities = new List
// 添加列表
favouriteCities.AddRange(popularCities);访问List可以通过索引、 for/foreach 循环和使用 LINQ 查询访问列表。列表的索引从零开始。传递方括号中的索引以访问单个列表项,与数组相同。使用 foreach 或 for 循环迭代 List
示例:访问List 列表List
Console.WriteLine(numbers[0]); // 版画1
Console.WriteLine(numbers[1]); // 版画2
Console.WriteLine(numbers[2]); // 版画5
Console.WriteLine(numbers[3]); // 版画7
// 使用foreach LINQ方法
numbers.ForEach(num => Console.WriteLine(num + ", "));//打印1,2,5,7,8,10,
// 使用for循环
for(int i = 0; i < numbers.Count; i++)
Console.WriteLine(numbers[i]);使用LINQ访问列表List
示例:列表上的LINQ查询var students = new List
new Student(){ Id = 1, Name="Bill"},
new Student(){ Id = 2, Name="Steve"},
new Student(){ Id = 3, Name="Ram"},
new Student(){ Id = 4, Name="Abdul"}
};
//得到所有名字叫 Bill 的学生
var result = from s in students
where s.Name == "Bill"
select s;
foreach(var student in result)
Console.WriteLine(student.Id + ", " + student.Name);在列表(List)中插入元素使用该Insert()方法将元素插入List
Insert() 签名:
void Insert(int index, T item);示例:将元素插入列表var numbers = new List
numbers.Insert(1, 11);// 在第一个索引处插入11,在10之后。
foreach (var num in numbers)
Console.Write(num);从列表(List)中删除元素使用Remove()方法删除List
Remove() 签名
bool Remove(T item)RemoveAt() 签名
void RemoveAt(int index)示例:从列表中删除元素var numbers = new List
numbers.Remove(10); // 从列表中删除10
numbers.RemoveAt(2); //删除第三个元素(索引从0开始)
//numbers.RemoveAt(10); //抛出ArgumentOutOfRangeException
foreach (var el in intList)
Console.Write(el); // 输出 20 30检查列表(List)中的元素使用Contains()方法确定元素是否在 List
示例: Contains()var numbers = new List
numbers.Contains(10); // 返回true
numbers.Contains(11); // 返回false
numbers.Contains(20); // 返回trueList
List
属性用法Items获取或设置指定索引处的元素Count返回List