C# —— 数组的告诫查询方法

 查询数组元素的方法

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
}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/45216.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

nuPlan 是一个针对自动驾驶车辆的闭环机器学习(ML-based)规划基准测试

nuPlan: A closed-loop ML-based planning benchmark for autonomous vehicles nuPlan 是一个针对自动驾驶车辆的闭环机器学习&#xff08;ML-based&#xff09;规划基准测试 Abstract In this work, we propose the world’s first closed-loop ML-based planning benchmar…

乐观锁原理

乐观锁是一种并发控制的方法&#xff0c;主要用于多线程环境下&#xff0c;用于保证数据的一致性。其核心思想是&#xff1a;"在多个事务中乐观地读取数据&#xff0c;在提交时再验证是否有冲突&#xff0c;如果没有&#xff0c;则提交&#xff1b;如果有&#xff0c;则回…

Excel第30享:基于辅助列的条件求和

1、需求描述 如下图所示&#xff0c;现要统计2022年YTD&#xff08;Year To Date&#xff1a;年初至今日&#xff09;各个人员的“上班工时&#xff08;a2&#xff09;”。 下图为系统直接导出的工时数据明细样例。 2、解决思路 Step1&#xff1a;确定逻辑。“从日期中提取出…

sqlmap确定目标/实操

安装kali&#xff0c;kali自带sqlmap&#xff0c;在window系统中跟linux系统操作有区别 sqlmap是一款自动化SQL工具&#xff0c;打开kali终端&#xff0c;输入sqlmap&#xff0c;出现以下界面&#xff0c;就说明sqlmap可用。 sqlmap确定目标 一、sqlmap直连数据库 1、直连数据库…

26.Labview波形图、XY图、强度图使用精讲

我们如何使用Labview显示曲线或者制作出下面这种我们想要的曲线并随着我们输入值的变化而变化呢&#xff1f; 本文详细讲解一下每种波形图的使用方式&#xff0c;帮助大家深入了解波形图的使用技巧。 文章中所有程序均可在百度网盘下载&#xff0c;下载方式&#xff1a;复制下…

GPT生成文本的实际案例 - Transformer教程

大家好&#xff0c;今天我们要聊一聊一个非常有趣的话题——GPT生成文本的实际案例&#xff0c;并且通过这篇文章来了解一下Transformer教程。这些技术在自然语言处理&#xff08;NLP&#xff09;领域掀起了巨大的波澜&#xff0c;不仅改变了我们与计算机交互的方式&#xff0c…

单件s_instance作为类成员静态变量与函数静态局部变量的区别

在C中&#xff0c;静态成员变量和静态局部变量虽然都是静态的&#xff0c;但它们的作用和使用方式有明显的区别&#xff1a; 1. **静态成员变量**&#xff1a; - 静态成员变量是类的一部分&#xff0c;它是类的所有实例对象共享的&#xff0c;只有一份拷贝。通常在类的声明…

虚拟机 VMware Workstation- 安装详细步骤

目录 虚拟化概念VMware Workstation 简介一、安装准备1. 安装环境2. 软件下载 二、常见问题1. 虚拟机的【默认位置】会在C盘&#xff0c;盘符内存不够的建议改为D盘或别的盘符2. 验证许可证是否密钥是否成功。进入虚拟机点击【帮助】下的关于VMware Workstation(A)可以查看验证…

YOLOv10改进 | 主干/Backbone篇 | 利用RT-DETR特征提取网络PPHGNetV2改进YOLOv10

一、本文介绍 本文给大家带来利用RT-DETR模型主干HGNet去替换YOLOv10的主干&#xff0c;RT-DETR是今年由百度推出的第一款实时的ViT模型&#xff0c;其在实时检测的领域上号称是打败了YOLO系列&#xff0c;其利用两个主干一个是HGNet一个是ResNet&#xff0c;其中HGNet就是我们…

Java项目中,常用的SQL语句

常用的命令&#xff1a; 1.数据的增删改查 1.插入数据(进行注册&#xff09; 语法 1&#xff1a; --第一种&#xff1a; INSERT INTO 表名(列名 1,列名 2, …) ; insert into tablename(member1,member3) valuse(,); --第二种&#xff1a; INSERT INTO 表名 VALUES(值 1,值 …

Python编程实例-Python的隐藏特性

Python的隐藏特性 文章目录 Python的隐藏特性1、Python中的下划线(_)2、通过解析树进行正则表达式调试3、省略号(...)4、dir()函数5、Lambda 函数6、链式比较运算符7、zip()函数8、修饰器9、上下文管理器和with语句10、生成器和yield语句11、元类(Metaclass)12、小结Python…

MySQL版本升级

MySQL版本升级 升级说明 MySQL升级的实质 对数据字典的升级 数据字典有&#xff1a;mysql、information_schema、performance_schema、sys schema。 MySQL升级的两种方式 大版本升级&#xff08;需要考虑业务的可用性&#xff09; 5.6 to 5.75.6 to 8.05.7 to 8.0 小版…

使用大模型进行SQL迁移的实践总结

在现代化的项目管理和运维工作中&#xff0c;利用大模型&#xff08;如ChatGPT&#xff09;处理复杂任务已成为一种高效手段。近期我们在一个项目中尝试利用大模型将MySQL导出的SQL语句迁移为达梦信创数据库格式&#xff0c;通过几轮操作&#xff0c;我们深刻体会到提示词工程的…

旷野之间4 - 100 个 Kubernetes 面试问题及答案

100 个 Kubernetes 面试问题及答案 Kubernetes 简介 什么是 Kubernetes&#xff1f; Kubernetes 是一个开源容器编排平台&#xff0c;可自动部署、扩展和管理容器化应用程序。 什么是容器&#xff1f; 容器是一个轻量级、独立的、可执行软件包&#xff0c;其中包含运行应用…

QT--槽函数和控件篇一

一、自定义信号和槽函数 QT 将信号和槽集成在QObject类中&#xff1b;发送者和接受者都必须继承这个类。Q_OBJECT宏是实现信号和槽机制、属性系统和元对象系统的关键。Q_OBJECT宏必须出现在每个使用信号和槽的类中&#xff0c;因为它为这些类提供了必要的元数据和功能。信号在…

mindspore打卡23天之基于MobileNetv2的垃圾分类函数式自动微分

基于MobileNetv2的垃圾分类 本文档主要介绍垃圾分类代码开发的方法。通过读取本地图像数据作为输入&#xff0c;对图像中的垃圾物体进行检测&#xff0c;并且将检测结果图片保存到文件中。 1、实验目的 了解熟悉垃圾分类应用代码的编写&#xff08;Python语言&#xff09;&a…

从0开始的STM32HAL库学习5

旋转编码计数器 修改中断代码 void EXTI0_IRQHandler(void) {/* USER CODE BEGIN EXTI0_IRQn 0 */if(__HAL_GPIO_EXTI_GET_FLAG(PB0_Pin)){if(HAL_GPIO_ReadPin(PB1_GPIO_Port, PB1_Pin)GPIO_PIN_RESET){count--;}/* USER CODE END EXTI0_IRQn 0 */HAL_GPIO_EXTI_IRQHandler…

php file_get_contents https 请求 伪造user_agent

在PHP中&#xff0c;使用file_get_contents()函数来发起HTTPS请求时&#xff0c;可以通过设置HTTP请求头来伪造User-Agent。file_get_contents()函数本身不直接支持设置请求头&#xff0c;可以通过上下文&#xff08;context&#xff09;参数来实现这一点。 // 目标URL $url …

Java技术栈总结:容器集合篇

一、List 1、ArrayList &#xff08;1&#xff09;底层数据结构 底层数据结构为数组。数组是一种用连续的内存空间存储相同数据类型数据的线性数据结构。 Q&#xff1a;为什么数组索引下标从0开始&#xff1f; A&#xff1a;从0开始&#xff0c;对应寻址公式&#xff1a;a[i]…

Vuetify3 + Nuxt3:跳转详情

在Nuxt 3中&#xff0c;使用v-data-table组件时&#xff0c;我们想要在点击某个行或者某个单元格时进行页面跳转。可以通过监听组件的点击事件&#xff0c;并使用useRouter来实现页面跳转。 <template><v-data-table:headers"headers":items"items&qu…