【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

相关推荐
俊昭喜喜里40 分钟前
C#中的func<>
java·前端·c#
highreport1 小时前
net报表工具对比:HighReport 与 FastReport
java·c#
reasonsummer1 小时前
【办公类-146-05】20260901《一分园、二分园四大教育》(优化版:标题excle+复制AI文字+Python占位符录入)
开发语言·数据库·c#
CSDN_RTKLIB1 小时前
C#可选参数时重载
c#
古少侠2 小时前
用 DS随心转 把 AI 画的 Mermaid 流程图转成 Word 里的高清图
开发语言·c#·word
智者知已应修善业3 小时前
C#用一个循环[等效]取出字符串中的数字
网络·c#·web·string·语言
CSDN_RTKLIB3 小时前
自己的溯源函数注意点
c#
A_nanda3 小时前
C# 调用 .NET(Core)Web 服务混用:常见问题与 .NET 6~10 正确写法
c#·.net
北域码匠13 小时前
高通滤波算法深度解析(High-Pass Filter)
stm32·算法·c#·数字信号处理·嵌入式开发·滤波算法·高通滤波
rockey62715 小时前
C#脚本引擎之AScript与Z.Expressions.Eval对比
c#·.net·script·expression·动态脚本