1、Array
Array 类是 C# 中所有数组的基类,它是在 System 命名空间中定义。Array 类提供了各种用于数组的属性和方法。
int[] a = new int[]{1,45,87,12,56,89}
方法 | 作用 | 举例 |
---|---|---|
Resize | 将数组长度更改为新大小 | a=Array.Resize(ref a,8); |
Sort | 升序排序维数组中的元素 | Array.Sort(a); |
Copy | 从当前的一维数组中复制指定元素到一个指定的一维数组的指定索引位置。索引由一个 32 位整数指定。 | Array.Copy(a,5,b,0,3); (原数组,索引5处开始截取,新数组,索引0处开始放,放3个) |
Clear | 设置数组中某个范围的元素为初始值 | Array.Clear(a,2,5); (从索引2处开始后面5个元素) |
Reverse | 逆转整个一维数组中元素的顺序 | Array.Reverse(a); |
IndexOf | 搜索元素,返回首个匹配项索引 | Array.IndexOf(a,3); |
LastIndexOf | 搜索元素,返回最后一个匹配项索引 | Array.LastIndexOf(a,3); |
Find | 返回所有匹配元素 | int[] b = Array.Find(a,5) |
2、 list<T>
list<int> list = new list<int>();
list<int> list2
方法 | 作用 | 举例 |
---|---|---|
Add | 添加元素至末尾 | list.Add(10); |
AddRange | 添加集合至末尾 | list.Add(new int[] {2,3,2,4}); |
Count | 返回集合元素个数 | int count= list.Count(); |
Remove | 删除指定元素 | list2=list.Remove(10); |
RemoveAt | 删除指定索引元素 | list2=list.RemoveAt(3); |
RemoveRange | 删除多个索引元素 | list2=list.RemoveAt(1,3); |
RemoveAll | 删除满足条件的所有值可以应用于类类型(存放多种元素)的集合) | 返回对象 list2=list.RemoveAll(a=a>5); 参数是泛型委托 |
Insert | 在指定索引位置插入元素 | list2=list.Insert(1,8); |
InsertRange | 在指定索引位置插入集合 | list2=list.Insert(1,new int[] {2,3,2,4}); |
Find | 查找返回满足条件的第一个值(可以应用于类类型(存放多种元素)的集合) | int first = list.Find(a=a>5); 参数是泛型委托 |
FindAll | 查找返回满足条件的所有值(可以应用于类类型(存放多种元素)的集合) | 返回对象 list2=list.FindAll(a=a>5); 参数是泛型委托 |
ToArray | 转数组 | int[] a = list.ToArray(); |
OrderBy | 按照list中的指定元素升序排序 | list2 = list. |
Reverse | 反转集合 | list2 = list.Reverse() |
Contains | 列表是否包含某个元素 | bool b = list.Contains(3); |
Clear | 清空集合 | list.Clear(); |
OrderBy方法可以按照list中的指定元素升序排序,而ThenBy方可以附件排序按升序排序
降序用反转Reverse
List<Student> ls = new List<Student>()
{
new Student(){StudentName="龙傲天",StudentCode="A001",ClassCode="001",ClassName="重点班",Grade=1,Bridthday=20152541},
new Student(){StudentName="猪傲天",StudentCode="A002",ClassCode="001",ClassName="普通班",Grade=1,Bridthday=20150258},
new Student(){StudentName="鼠傲天",StudentCode="A003",ClassCode="002",ClassName="普通班",Grade=1,Bridthday=20150454},
new Student(){StudentName="狗傲天",StudentCode="A004",ClassCode="002",ClassName="普通班",Grade=1,Bridthday=20153369},
new Student(){StudentName="猫傲天",StudentCode="A005",ClassCode="001",ClassName="重点班",Grade=1,Bridthday=20150214},
};
//按list中指定元素升序排序(OrderBy)
List<Student> ls1 = ls.OrderBy(a => a.Bridthday).ToList();
//按list中指定元素升序排序(OrderBy)附件按升序排序(ThenBy)
List<Student> ls2 = ls.OrderBy(a=>a.Bridthday).ThenBy(a=>a.ClassCode).ToList();
//降序用反转
ls2.Reverse()
//这是类
internal class Student
{
public string StudentName { get; set; } //姓名
public string StudentCode { get; set; } //学生编号
public string ClassCode { get; set; } //班级编号
public string ClassName { get; set; } //班级名称
public int Grade { get; set; } //年级
public int Bridthday { get; set; } //出生日期
}
3、Dictionary<T1,T2>
添加引用空间:using System.Collections.Generic;
本质:Hashtable的泛型
以键值对的方式存储,键不可以重复
通过键访问值:值=字典名[键]
方法 | 作用 |
---|---|
Add | 添加元素(键值对) |
Remove | 删除(只能通过键去删除) |
ContainsKey | 查询键是否存在 |
ContainsValue | 查询值是否存在 |
Clear | 清除 |
Dictionary<int,string> dic=new Dictionary<int,string>(); //定义
dic.Add(1,"小明"); //添加
dic.Add(2, "小花");
dic.Add(3, "小猪");
int count =dic.Count; //查询个数
if(dic.ContainsKey(3)) //是否存在“3”这个键
{
Console.WriteLine(dic[3]); //打印值
}
bool b = dic.ContainsValue("小花"); //是否存在“小花”这个值
foreach(var item in dic.Keys) //遍历所有键
{
Console.WriteLine($"键:{item},值:{dic[item]}");
}
foreach(var item in dic.Values) //遍历所有值
{
Console.WriteLine(item);
}
foreach (KeyValuePair<int,string> item in dic) //遍历键值对
{
Console.WriteLine($"键:{item.Key},值:{item.Value}");
}