C# List<T>.IndexOf()方法的使用
C#中的List<T>.IndexOf()方法用于查找指定元素在列表中的索引位置。它返回第一个匹配项的索引,如果未找到匹配项,则返回-1。
语法:有三种参数可选
int List<T>.IndexOf(T item);
int List<T>.IndexOf(T item, int start_index);
int List<T>.IndexOf(T item, int start_index, int count);
第一个参数item是要搜索的元素
第二个参数start_index是搜索的起始索引位置。
第三个参数count是从“start_index”开始搜索的元素总数。
下面举例说明使用情况:
1、通过1个参数搜索:
// 定义一个包含整数的列表
List<int> numbers = new List<int> { 10, 20, 30, 20, 50 ,15};// 使用IndexOf方法查找元素的索引位置
int index1 = numbers.IndexOf(20);
int index2 = numbers.IndexOf(60);// 输出结果
Console.WriteLine("元素20的索引位置是:" + index1);
Console.WriteLine("元素60的索引位置是:" + index2);
在上面的示例中,我们先定义一个包含整数的列表numbers。然后,我们就用IndexOf()方法查找元素20,60在列表中的索引位置,并将结果存储在变量index中。最后,我们将结果打印出来。
输出结果将是:
元素20的索引位置是:1
元素60的索引位置是:-1
2、通过2个参数搜索:
// 定义一个包含整数的列表
List<int> numbers = new List<int> { 10, 20, 30, 20, 50 ,15};// 使用IndexOf方法从某个索引值开始查找元素的索引位置
int index1 = numbers.IndexOf(20,1);
int index2 = numbers.IndexOf(20,2);
int index3 = numbers.IndexOf(20,4);// 输出结果
Console.WriteLine("元素20的索引位置是:" + index1);
Console.WriteLine("元素20的索引位置是:" + index2);
Console.WriteLine("元素20的索引位置是:" + index3);
输出结果是:
元素20的索引位置是:1
元素20的索引位置是:3
元素20的索引位置是:-1
3、通过3个参数搜索:
// 定义一个包含整数的列表
List<int> numbers = new List<int> { 10, 20, 30, 20, 50 ,15};// 使用IndexOf方法从某个索引值开始查找n个位置元素的索引位置
int index1 = numbers.IndexOf(20,1,3);
int index2 = numbers.IndexOf(20,2,1);// 输出结果
Console.WriteLine("元素20的索引位置是:" + index1);
Console.WriteLine("元素20的索引位置是:" + index2);
输出结果是:
元素20的索引位置是:1
元素20的索引位置是:-1
除了基本的使用方法,还有其它几种使用方法:
1、自定义比较器:IndexOf()方法还可以接受一个IEqualityComparer<T>类型的参数,用于自定义比较器。这样可以在搜索元素时使用自定义的比较逻辑。例如:
List<string> fruits = new List<string> { "apple", "banana", "orange", "Apple" };
int index = fruits.IndexOf("apple", StringComparer.OrdinalIgnoreCase);
Console.WriteLine("元素apple的索引位置是:" + index);
输出结果是:
元素apple的索引位置是:0
在上面的示例中,使用了StringComparer.OrdinalIgnoreCase作为比较器,即忽略大小写进行搜索。
2、LastIndexOf()方法:假如搜索最后一个匹配的索引,那么就可以使用该方法。事实它是直接从列表中最后一个往回搜索匹配第一个匹配索引。
List<int> numbers = new List<int> { 10, 20, 30, 40, 20, 50 };
int index = numbers.LastIndexOf(20);
Console.WriteLine("最后一个元素20的索引位置是:" + index);
输出结果是:
最后一个元素20的索引位置是:4
相关文章:
C# List<T>.IndexOf()方法的使用
C#中的List<T>.IndexOf()方法用于查找指定元素在列表中的索引位置。它返回第一个匹配项的索引,如果未找到匹配项,则返回-1。 语法:有三种参数可选 int List<T>.IndexOf(T item); int List<T>.IndexOf(T item, int star…...
深入理解JVM虚拟机第十八篇:JVM种局部变量表结构的认识
大神链接:作者有幸结识技术大神孙哥为好友,获益匪浅。现在把孙哥视频分享给大家。 孙哥链接:孙哥个人主页 作者简介:一个颜值99分,只比孙哥差一点的程序员 本专栏简介:话不多说,让我们一起干翻JVM 本文章简介:话不多说,让我们讲清楚虚拟机栈存储结构和运行原理 文章目…...
zabbix监控安装-linux
zabbix6.4中文文档1. 简介 (zabbix.com) Zabbix 是一个企业级的开源分布式监控解决方案。 1.zabbix结构体系 Server: server 是存储所有配置、统计和操作数据的中央存储库。 Proxy: zabbix proxy可以代替 Zabbix server 收集性能和可用性数据。p…...
7+差异分析+WGCNA+PPI网络,学会了不吃亏
今天给同学们分享一篇生信文章“Integrated PPI- and WGCNA-Retrieval of Hub Gene Signatures Shared Between Barretts Esophagus and Esophageal Adenocarcinoma”,这篇文章发表在Front Pharmacol期刊上,影响因子为5.6。 结果解读: 选定研…...
接口自动化测试
下面我们来看看,针对在本章优化重构后的接口测试框架来说,有哪些优点呢。 我们首先来看下目录, 1.Case文件夹用来存放我们的测试用例相关的, 2.Data用来存储我们的测试数据,Excel管理测试用例,yaml文件管理…...
SPASS-描述性分析
将身高移入变量 结果展示: 表中分析变量“身高”的个案数、所有个案中的极大值、极小值、均值、标准差及偏度和峰度...
kafka-go操作kafka
package mainimport ("context""fmt""os""os/signal""syscall""time""github.com/segmentio/kafka-go" )var (topic "user_click"reader *kafka.Reader )// 生产消息 func writeKafka(ctx …...
如何判断被DDoS攻击
当网络和设备正常的情况下,服务器突然出现连接断开、访问卡顿、用户掉线等情况;服务器CPU或内存占用率出现明显增长;网络出入流量出现明显增长;网站或应用程序突然出现大量的未知访问;登录服务器失败或者登录过慢等等。以上是最为常见的服务器被 DDoS攻击后出现的几…...
web —— html
Web —— css基础 1. HTML2. 基本HTML结构3. HTML常用标签3.1 文本相关标签3.2 HTML图像标签3.3 HTML超链接标签3.4 HTML表,单3.4.1 HTML表格3.4.2 HTML表单,输入框(多选框,单选框)下拉框 3.5 HTML分区标签3.5.1 div标…...
【C/PTA】数组练习(编程)
本文结合PTA专项练习带领读者掌握数组,刷题为主注释为辅,在代码中理解思路,其它不做过多叙述。 文章目录 7-1 计算最大值出现的次数7-2 求一批整数中出现最多的个位数字7-3 装箱问题7-4 数组-值钱的微信号7-5 数组-吹泡泡7-6 数组-数学鬼才 7…...
力扣:155. 最小栈(Python3)
题目: 设计一个支持 push ,pop ,top 操作,并能在常数时间内检索到最小元素的栈。 实现 MinStack 类: MinStack() 初始化堆栈对象。void push(int val) 将元素val推入堆栈。void pop() 删除堆栈顶部的元素。int top() 获取堆栈顶部…...
uniapp实现在线PDF文件预览
下载pdf文件放在static文件夹下 bug:hbuildX创建的项目pdf文件夹可以放在根目录下面,但是cli创建的项目无法预览,只能放在static下面 按钮跳转预览页面 <button click"toPdf">pdf</button>methods: {toPdf() {uni.…...
Python tkinter实现复刻Windows记事本UI和菜单的文本编辑器(一)
下一篇:Python tkinter实现复刻Windows记事本UI和菜单的文本编辑器(二)-CSDN博客 介绍: Windows操作系统中自带了一款记事本应用程序,通常用于记录文字信息,具有简单文本编辑功能。Windows的记事本可以新…...
【系统架构设计】架构核心知识: 3.3 DSSA和ABSD
目录 一 特定领域软件架构DSSA 1 DSSA 2 DSSA的基本活动和产物 3 参与DSSA的人员 4 建立过程...
Git的安装和常用命令Git与SVN的区别Gitee远程仓库团队开发代码共享演示
目录 一、Git入门 1.1 Git简介 1.2 Git与SVN的区别 1.2.1 详解 1.2.2 图解 1.3 Git相较于SVN的优势与劣势 1.3.1 Git的优势与劣势 1.3.2 SVN的优势与劣势 1.4 Git的工作流程 1.4.1 图解 1.4.2 详解 二、Git的安装以及常用命令 2.1 Git官网链接 2.2 安装步骤 2.…...
五、计算机网络
(一)OSI/RM 七层模型 七层模型是计算机网络的基石,整个计算机网络是构建与七层模型之上的。 在数据链路层,数据开始以帧为单位,网卡的 MAC 地址就是数据帧的地址,数据的传输开始有地址了。 局域网是工作…...
使用Grafana与MySQL监控监控网络延迟
文章目录 前言python程序使用Grafana步骤1:安装和配置 Grafana步骤2:配置 Grafana 数据源步骤3:创建 Grafana 仪表盘步骤4:将 Grafana 仪表盘嵌入到博客中 前言 在网络应用中,网络延迟是一个重要的指标,它…...
互联网常见职称
1、管理层 CEO – Chief Executive Officer 首席执行官 VP – Vice President 副总裁 HRD – Humen Resource Director 人力资源总监 OD – Operations Director 运营总监 MD – Marketing Director 市场总监 GM – General Manager 总经理 PM – Production Manager 产品…...
UI设计软件有哪些好用和免费的吗?
在我们分享五个有用的原型工具之前,完成原型,将优化界面,这次是UI设计师的任务,UI设计软件对设计师非常重要,UI设计工具是否使用直接影响最终结果,然后有人会问:UI界面设计使用什么软件…...
Linux开发工具之编译器gcc/g++
文章目录 1.查看版本2.程序的翻译3.gcc指令3.1gcc hello.c -o hello3.2gcc -E hello.c -o hello.i3.3gcc -S hello.c -o hello.s3.4gcc -c hello.c -o hello.o3.5gcc hello.o -o hello 4.动静态库[详讲链接阶段]4.1初步认识4.2动态链接4.3静态链接 1.查看版本 gcc -v. 2.程序…...
[特殊字符] 智能合约中的数据是如何在区块链中保持一致的?
🧠 智能合约中的数据是如何在区块链中保持一致的? 为什么所有区块链节点都能得出相同结果?合约调用这么复杂,状态真能保持一致吗?本篇带你从底层视角理解“状态一致性”的真相。 一、智能合约的数据存储在哪里…...
多云管理“拦路虎”:深入解析网络互联、身份同步与成本可视化的技术复杂度
一、引言:多云环境的技术复杂性本质 企业采用多云策略已从技术选型升维至生存刚需。当业务系统分散部署在多个云平台时,基础设施的技术债呈现指数级积累。网络连接、身份认证、成本管理这三大核心挑战相互嵌套:跨云网络构建数据…...
JavaSec-RCE
简介 RCE(Remote Code Execution),可以分为:命令注入(Command Injection)、代码注入(Code Injection) 代码注入 1.漏洞场景:Groovy代码注入 Groovy是一种基于JVM的动态语言,语法简洁,支持闭包、动态类型和Java互操作性,…...
【根据当天日期输出明天的日期(需对闰年做判定)。】2022-5-15
缘由根据当天日期输出明天的日期(需对闰年做判定)。日期类型结构体如下: struct data{ int year; int month; int day;};-编程语言-CSDN问答 struct mdata{ int year; int month; int day; }mdata; int 天数(int year, int month) {switch (month){case 1: case 3:…...
关于iview组件中使用 table , 绑定序号分页后序号从1开始的解决方案
问题描述:iview使用table 中type: "index",分页之后 ,索引还是从1开始,试过绑定后台返回数据的id, 这种方法可行,就是后台返回数据的每个页面id都不完全是按照从1开始的升序,因此百度了下,找到了…...
前端导出带有合并单元格的列表
// 导出async function exportExcel(fileName "共识调整.xlsx") {// 所有数据const exportData await getAllMainData();// 表头内容let fitstTitleList [];const secondTitleList [];allColumns.value.forEach(column > {if (!column.children) {fitstTitleL…...
【2025年】解决Burpsuite抓不到https包的问题
环境:windows11 burpsuite:2025.5 在抓取https网站时,burpsuite抓取不到https数据包,只显示: 解决该问题只需如下三个步骤: 1、浏览器中访问 http://burp 2、下载 CA certificate 证书 3、在设置--隐私与安全--…...
全面解析各类VPN技术:GRE、IPsec、L2TP、SSL与MPLS VPN对比
目录 引言 VPN技术概述 GRE VPN 3.1 GRE封装结构 3.2 GRE的应用场景 GRE over IPsec 4.1 GRE over IPsec封装结构 4.2 为什么使用GRE over IPsec? IPsec VPN 5.1 IPsec传输模式(Transport Mode) 5.2 IPsec隧道模式(Tunne…...
基于Java+MySQL实现(GUI)客户管理系统
客户资料管理系统的设计与实现 第一章 需求分析 1.1 需求总体介绍 本项目为了方便维护客户信息为了方便维护客户信息,对客户进行统一管理,可以把所有客户信息录入系统,进行维护和统计功能。可通过文件的方式保存相关录入数据,对…...
OD 算法题 B卷【正整数到Excel编号之间的转换】
文章目录 正整数到Excel编号之间的转换 正整数到Excel编号之间的转换 excel的列编号是这样的:a b c … z aa ab ac… az ba bb bc…yz za zb zc …zz aaa aab aac…; 分别代表以下的编号1 2 3 … 26 27 28 29… 52 53 54 55… 676 677 678 679 … 702 703 704 705;…...
