【C#】中IndexOf的用法

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

对于字符串

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

基本用法如下:

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

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

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

示例:

cs 复制代码
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。

基本用法如下:

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

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

完整示例代码

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

cs 复制代码
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#': 16
        
        List<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

相关推荐
samble13 小时前
从零搭建灌装监控系统(十):生产追溯,条码触发自动记录
c#·wpf·mvvm·modbus·工业控制
czhc114007566317 小时前
退出防呆:用“总闸“收口所有退出入口,以及三个并发语法坑
开发语言·c#
淡海水20 小时前
02-01-原理篇-Mark-Sweep与变种算法
算法·unity·c#·游戏引擎·.net·gc
UIU1141 天前
同一个变量在两个 .c 文件里类型不一致,程序会怎样?
c++·学习·c#
波力海苔夹心脆6751 天前
C# 值类型与引用类型详解:存储位置、赋值机制、参数传递、相等比较、装箱拆箱与常见陷阱
开发语言·jvm·经验分享·笔记·c#·.net
估值探索者1 天前
【Python量化策略实战 #02】多因子合成mom和vol两因子打分合成
开发语言·c++·python·数据挖掘·c#
淡海水2 天前
01-04-认知篇-Unity内存全景
unity·c#·游戏引擎·.net·gc
淡海水2 天前
01-03-认知篇-C#内存模型深度解析
unity·c#·游戏引擎·.net·gc
lzhdim3 天前
C#不为人知的10个魔法特性:资深开发者也会震惊的底层奥秘
java·前端·javascript·算法·c#
前端 贾公子3 天前
LangChain核心组件 == 提示词(Prompts)
开发语言·c#