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

【C#】中IndexOf的用法

在 C# 中,IndexOf 方法是字符串和列表(如 List<T>)等数据结构中常用的方法,用于查找指定元素或子串首次出现的位置。以下是针对不同情况使用 IndexOf 的示例。

对于字符串

对于字符串类型,IndexOf 方法返回子字符串在原始字符串中的起始位置索引,如果没有找到则返回 -1。

基本用法如下:

string str = "Hello, world!";
int index = str.IndexOf("world"); // index 将会是 7

IndexOf 方法还有重载版本,可以接受额外参数:

  • startAt: 指定从字符串的哪个位置开始搜索。
  • count: 指定要搜索的字符数。
  • comparisonType: 指定比较时是否区分大小写。

示例:

string str = "Hello, hello!";
int index = str.IndexOf("hello", StringComparison.OrdinalIgnoreCase); // index 将会是 0
index = str.IndexOf("hello", 7, StringComparison.OrdinalIgnoreCase); // index 将会是 7

对于 List<T>

对于 List<T> 类型,IndexOf 方法返回指定元素在列表中的索引,如果列表中不包含该元素,则返回 -1。

基本用法如下:

List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
int index = numbers.IndexOf(3); // index 将会是 2

如果列表中的元素类型是引用类型,你可以传递任何与列表元素类型兼容的对象给 IndexOf 方法。

完整示例代码

下面是一个完整的示例程序,演示了如何使用 IndexOf 方法:

using System;class Program
{static void Main(){string text = "Welcome to the C# programming language.";Console.WriteLine("Index of 'C#': " + text.IndexOf("C#")); // 输出: Index of 'C#': 16List<string> languages = new List<string> { "Java", "C#", "Python", "JavaScript" };Console.WriteLine("Index of 'C#': " + languages.IndexOf("C#")); // 输出: Index of 'C#': 1}
}

List<T>相关链接

【C# 】 一个List<T> 如何快速的知道里面的最大、最小、平均值呢?_c#获取list集合中的最大最小值-CSDN博客文章浏览阅读296次。【C# 】 一个List 如何快速的知道里面的最大、最小、平均值呢?_c#获取list集合中的最大最小值https://blog.csdn.net/wangnaisheng/article/details/140514960

C# 快速把List<string>集合转换成一个字符串_list 转字符串-CSDN博客文章浏览阅读892次。C# 快速把List集合转换成一个字符串_list 转字符串https://blog.csdn.net/wangnaisheng/article/details/138717158

C# 对List<T>取交集、差集以及并集-CSDN博客文章浏览阅读2.5k次。C# 对List取交集、差集以及并集https://blog.csdn.net/wangnaisheng/article/details/131391464

 

 

相关文章:

  • 【EMC专题】ESD抑制器简要介绍
  • 《数据结构(C语言版)第二版》第六章-图(6.4 图的存储结构——6.4.1 邻接矩阵)
  • Java基础之字面值常量
  • html+css+js网页设计 大一电商6个页面 带js 有轮播图,增删改查等功能
  • 【Qt】QWidget的windowTitle属性
  • Linux信号控制进程种类、内存查看和NICE优先级
  • 在CentOS 7 上安装和配置 uwsgi 详细教程
  • Secure Coding in C and C ++ (三)关于语法与指针的感悟
  • gitlab实现CI/CD自动化部署
  • Kafka 的 ISR 机制
  • 并查集..
  • 智启万象|挖掘广告变现潜力,保障支付安全便捷
  • 集成高精度16bit模数转换ADC电路的两通道测量高精度电容调理芯片 - MDC02
  • C盘磁盘空间不足:VirtualBox的锅
  • 代码随想录 day 39 动态规划 打家劫舍
  • 【跃迁之路】【733天】程序员高效学习方法论探索系列(实验阶段490-2019.2.23)...
  • 11111111
  • Debian下无root权限使用Python访问Oracle
  • eclipse(luna)创建web工程
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • java2019面试题北京
  • java概述
  • MySQL Access denied for user 'root'@'localhost' 解决方法
  • mysql外键的使用
  • Spring-boot 启动时碰到的错误
  • 对象引论
  • 反思总结然后整装待发
  • 深入浏览器事件循环的本质
  • 腾讯优测优分享 | Android碎片化问题小结——关于闪光灯的那些事儿
  • 小程序开发之路(一)
  • 验证码识别技术——15分钟带你突破各种复杂不定长验证码
  • 异常机制详解
  • 这几个编码小技巧将令你 PHP 代码更加简洁
  • ​ ​Redis(五)主从复制:主从模式介绍、配置、拓扑(一主一从结构、一主多从结构、树形主从结构)、原理(复制过程、​​​​​​​数据同步psync)、总结
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • # 透过事物看本质的能力怎么培养?
  • #Linux(make工具和makefile文件以及makefile语法)
  • #QT(智能家居界面-界面切换)
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • ${ }的特别功能
  • (Ruby)Ubuntu12.04安装Rails环境
  • (WSI分类)WSI分类文献小综述 2024
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (个人笔记质量不佳)SQL 左连接、右连接、内连接的区别
  • (论文阅读32/100)Flowing convnets for human pose estimation in videos
  • (免费领源码)Python#MySQL图书馆管理系统071718-计算机毕业设计项目选题推荐
  • (面试必看!)锁策略
  • (数据大屏)(Hadoop)基于SSM框架的学院校友管理系统的设计与实现+文档
  • (算法设计与分析)第一章算法概述-习题
  • (源码分析)springsecurity认证授权
  • (转)Android中使用ormlite实现持久化(一)--HelloOrmLite
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .env.development、.env.production、.env.staging
  • .L0CK3D来袭:如何保护您的数据免受致命攻击
  • .NET Core跨平台微服务学习资源