查询目的 通过数组查询一些满足条件(相等、不等等)的元素
有一些方法属于Array静态的方法 使用Array.方法()
有一些方法属于非静态方法使用对象。方法名(),需要去创建对象
1 FindIndex() :根据参数2的条件返回第一个满足条件元素的索引值
FindIndex() 其实他的的功能已经实现了遍历功能,并且把元素传递到参数2函数中
参数1:传递数组
参数2:是一个函数,里面的代码是匹配条件,是有bool返回值,并且有一个参数 这个参数数组里面每一个元素。 例如找年龄大于18的元素的索引
//Main里面 Console.WriteLine(Array.FindIndex(ages,FindBig18)); Console.WriteLine(Array.FindIndex(new string[] {"张三","李四","王五","马六","小二" },FindName)); //与Main同级 static bool FindBig18(int v) { //V就是每一个元素 ages[i] return v > 18;//如果v大于18 返回true , 如果v<18 返回false } static bool FindName(string v) { return v == "张三" ; }2 FindAll() 找到满足条件所有的元素 返回是一个数组(参数1是数组 参数2检索条件的函数)
int[] arr = Array.FindAll(ages,FindEven);3 ForEach()循环遍历(参数1 遍历的数组参数2 是一个遍历函数,v就是每一个元素)
Array.ForEach(arr, v => Console.WriteLine(v));4 Find 找到满足条件的元素
bool FindStart(string v) { return v.StartsWith("s"); } Console.WriteLine(Array.Find(new string[] { "ss", "ssr", "a", "b", "f" }, FindStart));5 FindLast() 从后面找 找到满足条件的元素
bool FindLast(string v) { return v.StartsWith("s"); } Console.WriteLine(Array.FindLast(new string[] { "ss", "ssr", "a", "b", "f" }, FindStart));6 TrueForAll() 数组的元素是不是都满足一个条件,如果都满足 为true,只要一个不满足返回值为false
bool sas(int v) { return v < 30; } Console.WriteLine(Array.TrueForAll(ages, sas));7 Exists() 数组里面是否窜在满足条件的元素,存在一个满足条件即可
Console.WriteLine(Array.Exists(ages, sas));8 Any() 满足条件有一个即可 等同于Array.Exist()
string[] names = new string[] { "ss", "ssr", "a", "b", "f" }; Console.WriteLine(names.Any(FindLast));9 All() 所有的元素都得满足条件 整体结果为true, 等同域 Array.TrueForAll()
Console.WriteLine(names.All(FindLast));10 Contains() 数组是否包含这个元素
Console.WriteLine(names.Contains("abcd")+"++++++");11 Concat() 串联两个数组
string[] ss = { "2", "3" }; foreach (string time in names.Concat(ss)) { Console.WriteLine(time+"------"); }