当前位置: 首页 > news >正文

新手小白之C#数组查询技巧全解析

//查询目的:通过数组查询一些满足条件(相等、不等等)的元素
//有些方法属于Array静态的方法 使用Array.方法()
//有些方法属于非静态的方法 使用对象.方法名(),需要先去创建对象


int[] ages = { 1, 2, 3, 4, 5, 6, 7, 8,20,36,29 };

//现在找到满足年龄是成年的人


1 FindIndex():

根据参数2的条件返回第一个满足条件元素的索引值,
// FindIndex()其实他的功能已经实现了遍历功能,并且把元素传递到参数2函数中
//参数1:传递数组
//参数2 是一个函数,里面代码匹配的条件,是bool返回值的 并且有一个参数 这个参数数组里面每一个元素 例如找年龄大于18的元素的索引
Console.WriteLine(Array.FindIndex(ages, FindBig18) );//8
//Console.WriteLine(Array.FindIndex(ages, v => v%2==0 )); 下一个课件讲
Console.WriteLine(Array.FindIndex(new string[] {"张三","历史","王五","马六" },FindName));

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("ssr");
}
Console.WriteLine(Array.Find(new string[] { "ss", "ssr", "r", "a", "b" }, FindStart));

5 FindLast()

从后面找 找到满足条件的元素
bool FindLast1(string v)
{
return v.StartsWith("ab");
}
Console.WriteLine(Array.FindLast(new string[] { "ss", "ssr", "r","ab" ,"abc", "b" }, FindLast1));

6 TrueForAll()

元素是不是都满足一个条件,如果都满足 为true,只要一个不满足返回值为false
bool 找到所有满足条件函数(int v)
{
return v < 30;
}
Console.WriteLine(Array.TrueForAll(ages, 找到所有满足条件函数));

7 Exists()

数组里面是否存在满足条件的元素,存在一个满足条件即可
Console.WriteLine(Array.Exists(ages, 找到所有满足条件函数)); // true

8Any()

满足条件有一个即可 等同于Array.Exist()
string[] names = new string[] { "ss", "ssr", "r", "ab", "abc", "b" };
Console.WriteLine(names.Any(FindLast1));

9 All()

所有的元素都得满足条件 整体结果为true, 等同于 Array.TrueForAll()
Console.WriteLine(names.All(FindLast1));


10Contains()

数组是否包含这个元素
Console.WriteLine(names.Contains("abcd")+"------");


11Concat()

串联俩个数组
string[] ss = { "2", "3" };
foreach (string item in names.Concat(ss))
{
Console.WriteLine(item+"++++++++");
}

Array.Clear(namess, 3, 1);

从参数1数组的参数2位置删除参数3个数的元素 ,把删除的元素设置为默认值

// Array.Reverse(namess); //把数组元素颠倒位置
string[] nn = new string[10];

Copy()复制


Array.Copy(namess,nn,4);//把参数1数组复制到参数2数组 复制参数3个数

IndexOf()

元素所在索引值
Console.WriteLine(Array.IndexOf(namess, "蔡徐坤")+"---------"); //3

Console.ReadKey();
}
static bool FindBig18(int v)
{
//v就是每一个元素 ages[i]
return v > 18; //如果v大于18 返回true ,如果v<=18 返回false
}

static bool FindName(string v)
{

return v =="张三";
}
static bool FindEven(int v)
{
return v % 2 == 0;
}

http://www.jsqmd.com/news/76830/

相关文章:

  • 实用指南:Vue3计算属性如何兼顾模板简化、性能优化与响应式自动更新?
  • Pyflame火焰图分析工具:轻松定位Python性能瓶颈
  • 频域中的数字下变频 详解与python仿真
  • 实用指南:5G部分带宽BWP技术介绍
  • 2025年东北塑胶管道品牌TOP5推荐:滨沃PE排水管安装方 - myqiye
  • 大连格恩朗超声波水表:以精准计量,护航智慧水务升级
  • 直接数字下变频 原理解释和python仿真
  • 携手全球伙伴,共赴成长新程|「GTC泽汇」 2025金鹰奖颁奖盛典圆满落幕 - 博客万
  • 2025推荐美式家具制造商TOP5权威测评:源头美式家具厂家 - 工业品牌热点
  • 大连格恩朗金属管浮子流量计:精准破局,赋能工业流体计量
  • 2025源头刀削面机厂家TOP5权威推荐:甄选不错的刀削面机 - 工业推荐榜
  • pk3DS:解锁3DS宝可梦游戏无限可能的终极编辑神器
  • Linux NFS 服务配置指南
  • 2025台式原油水份测定离心机知名企业/优质厂家/供应商推荐 - 品牌推荐大师1
  • baresip SIP账户配置终极指南:从入门到精通
  • 3大痛点解析:Flink监控体系为何总是失效?终极解决方案来了!
  • 图解网络40
  • 【资源对接会哪个靠谱】落地执行与效果验证:一套可复用的筛选方
  • Java虚拟机规范完整指南:从入门到精通
  • 出口欧盟工厂最容易踩雷的5个细节,90%老板都忽略了
  • Surfer V30新版本介绍
  • Gaea Editor 常见问题终极指南:快速解决网页设计工具使用难题
  • 终极指南:如何零障碍安装ta-lib-python技术分析库
  • 搭建本地支持联网推理助手(附源码)
  • 2025最新出炉!热镀锌打包带优质厂家排行榜,镀锌打包扣/冷镀锌打包带/镀锌打包带/铜棒打包带/玻璃打包带/打包铁条热镀锌打包带企业选哪家 - 品牌推荐师
  • 闲置上门回收小程序开发、一键回收超轻松!
  • 用可视化利润计算器,实现你的财务清晰度
  • 毕业设计项目 深度学习手写数字识别系统(源码+论文)
  • 超越简单收益:用“年化ROI计算器”看清投资的真实表现
  • 英伟达发布OpenReasoning-Nemotron-32B:多智能体协作改写推理范式,32B参数刷新三大领域性能纪录