news 2026/4/25 19:02:13

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
新手小白之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;
}

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/4/24 14:48:19

技术拆解:1688 API 接口开发全流程与商品数据抓取方案

1688 作为阿里巴巴旗下的批发电商平台&#xff0c;其开放的 API 接口为开发者提供了合规获取商品数据、商家信息的渠道。本文将从 API 接入准备、接口调用开发、数据抓取与解析等维度&#xff0c;完整拆解 1688 API 接口开发全流程&#xff0c;并结合实战代码实现商品数据抓取&…

作者头像 李华
网站建设 2026/4/24 14:48:20

6强AI医疗助手全解析:哪款最懂你的健康需求?

在人工智能技术快速发展的今天&#xff0c;AI医疗健康工具正在重塑传统医疗服务模式。从个人健康咨询到专业医疗决策支持&#xff0c;AI技术为医疗健康领域带来了前所未有的变革。本文将深入分析 6 款优秀的AI医疗健康工具&#xff0c;帮助读者了解它们的特点和应用场景&#x…

作者头像 李华
网站建设 2026/4/24 14:54:07

p5.js编辑器终极指南:从零基础到创意大师的完整教程

p5.js编辑器是一款专为创意编程设计的强大工具&#xff0c;让任何人都能轻松创作互动艺术作品。无需安装复杂软件&#xff0c;只需打开浏览器即可开始您的创意编程之旅&#xff0c;将想法转化为精彩的视觉作品&#xff01; 【免费下载链接】p5.js-editor Deprecated desktop ed…

作者头像 李华
网站建设 2026/4/21 18:31:12

Linux NFS 服务配置指南

一、Debian/Ubuntu 配置 NFS 服务器 1. 安装 NFS 服务组件 # 更新软件包列表 apt-get update# 安装 NFS 服务器和客户端组件 apt-get install -y nfs-kernel-server nfs-common2. 创建共享目录并设置权限 # 创建共享目录&#xff08;可按需修改路径&#xff09; mkdir -p /mnt/…

作者头像 李华
网站建设 2026/4/23 15:06:36

互联网大厂Java面试爆笑场景:水货程序员谢飞机的精彩表现

互联网大厂Java面试爆笑场景&#xff1a;水货程序员谢飞机的精彩表现 场景&#xff1a; 在某互联网大厂的一间会议室里&#xff0c;面试官和程序员谢飞机正在进行一场别开生面的面试。第一轮提问&#xff1a;基础知识 面试官&#xff1a; 请你简单讲解一下 Java 的内存模型&…

作者头像 李华
网站建设 2026/4/17 1:06:15

大连格恩朗金属管浮子流量计:精准破局,赋能工业流体计量

自2019年扎根流量测量领域&#xff0c;大连格恩朗始终坚守“技术筑基、精准至上”的初心&#xff0c;聚焦工业流体计量痛点&#xff0c;深耕金属管浮子流量计的研发与智造。凭借对精度的极致追求和对工况的深度适配&#xff0c;品牌打造的金属管浮子流量计&#xff0c;已成为化…

作者头像 李华