在 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
}
}