下面是关于C#列表List
C#列表List
List
声明和初始化
// 声明一个 List<int> 类型的 List
List<int> list = new List<int>();
// 初始化 List 并添加数据
List<int> list = new List<int> {1, 2, 3};
基本操作
添加和删除元素
list.Add(4); // 添加元素到末尾
list.Insert(0, 5); // 在指定的索引处插入元素
list.Remove(3); // 删除指定元素
list.RemoveAt(0); // 删除指定索引处的元素
list.Clear(); // 清空 List 中所有元素
遍历
foreach(int i in list) {
Console.WriteLine(i);
}
排序
list.Sort();
list.Reverse(); // 反转 List 中所有元素
检索元素
int index = list.IndexOf(2); // 返回指定元素第一次出现的索引值
bool exists = list.Contains(3); // 判断 List 中是否存在指定元素
HashSet
在 C# 中,HashSet 是一个高效的存储唯一元素的数据结构,使用 HashSet 可以快速地添加、删除元素,并在 O(1) 时间内检查元素是否存在。HashSet 的一个使用场景是去除一个集合中的重复元素。
声明和初始化
// 声明一个 HashSet<int> 类型的 hashSet
HashSet<int> hashSet = new HashSet<int>();
// 初始化 HashSet 并添加数据
HashSet<int> hashSet = new HashSet<int> {1, 2, 3};
基本操作
添加和删除元素
hashSet.Add(4); // 添加元素
hashSet.Remove(3); // 删除指定元素
hashSet.Clear(); // 清空 HashSet 中所有元素
检索元素
bool exists = hashSet.Contains(3); // 判断 HashSet 中是否存在指定元素
只读集合
只读集合是指一种集合,不能修改其的数据。修改集合的唯一方式是重新创建一个新集合。它提供了一个隐藏元素的,只允许读取元素的集合视图。
只读集合类型
只读集合有三种类型:ReadOnlyCollection
ReadOnlyCollection
ReadOnlyCollection
ReadOnlyDictionary
ReadOnlyDictionary
ReadOnlySet
ReadOnlySet
声明和初始化
// 声明一个只读列表
List<int> list = new List<int> {1, 2, 3};
ReadOnlyCollection<int> readOnlyList = new ReadOnlyCollection<int>(list);
// 声明一个只读集合
HashSet<int> hashSet = new HashSet<int> {1, 2, 3};
ReadOnlySet<int> readOnlySet = new ReadOnlySet<int>(hashSet);
// 声明一个只读字典
Dictionary<int,string> dictionary = new Dictionary<int,string>();
dictionary.Add(1, "One");
dictionary.Add(2, "Two");
ReadOnlyDictionary<int,string> readOnlyDictionary = new ReadOnlyDictionary<int,string>(dictionary);
以上是关于C#列表List
下面是两个使用示例:
示例1:使用List保存学生成绩并进行排序
class Student {
public string Name { get; set; }
public int Score { get; set; }
}
List<Student> students = new List<Student>{
new Student { Name = "Tom", Score = 80 },
new Student { Name = "Jerry", Score = 90 },
new Student { Name = "Lily", Score = 70 }
};
students.Sort(delegate(Student s1, Student s2) { return s1.Score.CompareTo(s2.Score); });
foreach(Student s in students) {
Console.WriteLine("{0}: {1}", s.Name, s.Score);
}
示例2:使用HashSet去除数组中的重复元素
int[] arr = { 1, 2, 2, 3, 3, 4, 5, 5 };
HashSet<int> hashSet = new HashSet<int>(arr);
foreach(int i in hashSet) {
Console.Write("{0} ", i);
}
输出结果是:1 2 3 4 5。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:C#列表List