查询数组元素的方法
1.通过索引值找元素 a[0]
2.通过循环进行遍历 查询数组的每一个元素
int[] a1 = new int[] { 1, 2, 3 };
Console.WriteLine(a1[0]);
// 通过循环进行遍历 查询数组的每一个元素
for (int i = 0; i < a1.Length; i++)
{
// Console.WriteLine(a1[i]);
}
3 indexOf() 获取元素的索引值
int[] a2 = { 28, 32, 16, 10, 31 };
查找满足小于16的第一个元素
Find 参数1 目标数组,参数2是一个方法,返回满足的条件 一般是一个bool值 观察数组的元素是否满足这个条件
Find 方法的作用返回第一个满足的元素;
Console.WriteLine(Array.Find(a2, FindSmall16));
箭头函数 value 就是数组的每一个元素 value<16 满足的条件
Console.WriteLine(Array.Find(a2, value=>value<16));
找到第一个是奇数的元素
Console.WriteLine(Array.Find(a2, FindJiShu));
查找一个仅能被3整除 又能被5整除的数 没有找到该条件数为默认值0
Console.WriteLine(Array.Find(a2,value=>value%3==0&&value%5==0));
字符串数组相关查找
string[] strs = { "123456", "123", "asd", "wasd" };
Console.WriteLine(Array.Find(strs, value => value.Length == 3));// 123
Console.WriteLine(Array.Find(strs, value => value.Length == 7));// null
string v = Array.Find(strs, value => value.Length == 7);
Console.WriteLine(string.IsNullOrEmpty(v));// true 判断字符串是不是null或者是空字符串
Findlndex 和 Find 用法一样,FindIndex找到满足条件的元素的索引 找不到的返回-1,Find找到满足条件的元素
对比indexOf和findindex
indexOf 参数只能是数组的元素或者不是数组元素 不能是一个函数,没有遍
历效果
findIndex 不仅仅要找到满足条件的索引值,还有遍历效果
如果箭头函数想{}带上需要把return带上。
Console.WriteLine(Array.FindIndex(a2,value =>
{
return value <= 30;
}));
FinLast() 从后面往前查询第一个满足条件的元素
Console.WriteLine(Array.FindLast(a2,value=>value>=18));
FindLastIndex() 从后面往前查询第一个满足这个条件的元素索引值
Console.WriteLine(Array.FindLastIndex(a2,value => value >=18));
FindAll() 找到所有满足条件的元素 返回值是一个数组
int[] a3 = Array.FindAll(a2, value => value % 2 == 0);
Console.WriteLine(string.Join(",",a3));// 把数组转成字符串
int[] ints = { 2, 4, 6 };
TrueForAll()判断一个数组元素是否都满足条件,如果都满足了 结果为true,只要有一个不满足 结果为false
Console.WriteLine(Array.TrueForAll(ints, value => value % 2 == 0));// true
ints[1] = 3;
Console.WriteLine(Array.TrueForAll(ints, value => value % 2 == 0));// false
判断数组中是否至少有一个满足条件的元素,(只要有一个满足了就为true)
Console.WriteLine(Array.Exists(ints, value => value % 2 == 0));// true
ints[0] = 5;
ints[2] = 7;
Console.WriteLine(Array.Exists(ints, value => value % 2 == 0));//false
首写字母都是大写
以上方法都是通过Array方法 属于类.方法 () 属于静态方法
对象.方法 () 非静态
Array ArrayList List
账号对象 name和psw属性,数组添加5个账号 输入一个账号和密码 判断当前是否能登陆成功
exists
{abmin,123} {admin1 123,123}
admin 123
List<User> list = new List<User>();
for (int i = 0; i < 5; i++)
{
User u1 = new User();
u1.Name = "admin" + i;
u1.Psw = i * 10 + "1";
list.Add(u1);
}
string s1 = "admin";
string s2 = "301";
参数是函数写,满足条件的
list是否存在满足条件的元素 value是数组的元素
Console.WriteLine(list.Exists(value => value.Name == s1 && value.Psw == s2));
类
class User
{
public string Name { get; set; }
public string Psw { get; set; }
}
public static bool FindJiShu(int value)
{
return value % 2 != 0;
}
public static bool FindSmall16(int value)
{
// 1先遍历数组的每一个元素 2进行比较 3找到满足条件的元素之后返回出去
// 参数value就是数组的每一个元素 不用再去遍历
/*if (value < 16)
{
return true;
}
else
{
return false;
}*/
return value < 16; // true/false
}