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

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
http://www.lryc.cn/news/223774.html

相关文章:

  • 深入理解JVM虚拟机第十八篇:JVM种局部变量表结构的认识
  • zabbix监控安装-linux
  • 7+差异分析+WGCNA+PPI网络,学会了不吃亏
  • 接口自动化测试
  • SPASS-描述性分析
  • kafka-go操作kafka
  • 如何判断被DDoS攻击
  • web —— html
  • 【C/PTA】数组练习(编程)
  • 力扣:155. 最小栈(Python3)
  • uniapp实现在线PDF文件预览
  • Python tkinter实现复刻Windows记事本UI和菜单的文本编辑器(一)
  • 【系统架构设计】架构核心知识: 3.3 DSSA和ABSD
  • Git的安装和常用命令Git与SVN的区别Gitee远程仓库团队开发代码共享演示
  • 五、计算机网络
  • 使用Grafana与MySQL监控监控网络延迟
  • 互联网常见职称
  • UI设计软件有哪些好用和免费的吗?
  • Linux开发工具之编译器gcc/g++
  • 【Kurbernetes资源管理】陈述式资源管理方式
  • flink测试map转换函数和process函数
  • 【跟小嘉学习JavaWeb开发】第一章 开发环境搭建
  • CSS语法、选择器、属性
  • 深度学习读取txt训练数据绘制参数曲线图的方法
  • VB.NET—DataGridView控件教程详解
  • MCU测试科普|如何进行MCU芯片测试,具体流程是什么?
  • 单向循环代码实现cpp
  • 【原创】java+jsp+servlet简单图书管理系统设计与实现
  • JVM之jinfo虚拟机配置信息工具
  • 软件测试|PO设计模式在 UI 自动化中的实践