在C#中,IndexOf()方法是字符串方法。此方法用于在字符串的当前实例内查找指定字符或字符串的首次出现的从零开始的索引。如果找不到字符或字符串,则该方法返回-1。可以通过向其传递不同的参数来重载该方法。
- String.IndexOf(char x)
- String.IndexOf(char x,int start1)
- String.IndexOf(char x,int start1,int start2)
- String.IndexOf(strings1)
- String.IndexOf(strings1,int start1)
- String.IndexOf(string s1,int start1,int start2)
- String.IndexOf(string s1,int start1,int start2,StringComparison cType)
- String.IndexOf(string s1,int start1,StringComparison cType)
- String.IndexOf(string s1,StringComparison cType)
String.IndexOf(char x) method
此方法返回字符串中指定字符首次出现的从零开始的索引。如果找不到这样的字符,则返回-1。
用法:
public int IndexOf(char x)
- 参数:此方法采用System.Char类型的参数char x,该参数指定要搜索的字符。
- 返回类型:此方法的返回类型为System.Int32。
例:在下面的代码中,用户希望了解指定字符串“GeeksForGeeks”中字符“ F”的索引,因此,此方法主要返回首次出现的字符“ F”的相应结果。同样在第二种情况下,字符“ C”不存在,因此仅返回-1。
// C# program to illustrate the
// String.IndexOf(char x) method
using System;
namespace ConsoleApplication1 {
class Geeks {
// Main Method
static void Main(string[] args)
{
string str = "GeeksForGeeks";
// Finding the index of character
// which is present in string and
// this will show the value 5
int index1 = str.IndexOf('F');
Console.WriteLine("The Index Value of character 'F' is " + index1);
// Now finding the index of that character which
// is not even present with the string
int index2 = str.IndexOf('C');
// As expected, this will output value -1
Console.WriteLine("The Index Value of character 'C' is " + index2);
}
}
}
输出:
The Index Value of character 'F' is 5 The Index Value of character 'C' is -1
String.IndexOf(char x, int start1) method
此方法返回字符串中指定字符首次出现的从零开始的索引。但是,将从指定位置开始搜索该字符,如果找不到,则返回-1。
用法:
public int IndexOf(char x, int start1)
- 参数:此方法采用两个参数,即System.Char类型的char x(指定要搜索的字符)和System.Int32类型的start1(以整数值形式指定要从其开始搜索的位置)。
- 返回类型:此方法的返回类型为System.Int32。
- 异常:如果start1小于0(零)或大于字符串的长度,则此方法可以提供ArgumentOutOfRangeException。
例:在下面的代码中,用户希望知道指定字符串“HelloGeeks”中字符“ H”的索引,因此,此方法返回字符“ H”的相应索引。但是,如果start1大于1,则很明显返回-1。
// C# program to illustrate the
// String.IndexOf(char x, int start1) method
using System;
namespace ConsoleApplication2{
class Geeks {
// Main Method
static void Main(string[] args)
{
string str = "HelloGeeks";
// Finding the index of character
// which is present in string
// this will show the value 0
int index1 = str.IndexOf('H', 0);
Console.WriteLine("The Index Value of character 'H' "+
"with start index 0 is " + index1);
// Now finding the index of character
// 'H' with starting position greater
// than index position of 'H'
int index2 = str.IndexOf('H', 5);
// As expected, this will output value -1
Console.WriteLine("The Index Value of character 'H' is " + index2);
}
}
}
输出:
The Index Value of character 'H' with start index 0 is 0 The Index Value of character 'H' is -1
String.IndexOf(char x, int start1, int start2) method
此方法返回字符串中指定字符首次出现的从零开始的索引。但是,该字符的搜索将从指定位置start1开始,直到指定位置,即start2,如果找不到,则返回-1。
用法:
public int IndexOf(char x, int start1, int start2)
- 参数:此方法采用三个参数,即System.Char类型的char x(指定要搜索的字符),System.Int32类型的start1(以整数值形式指定要从其开始搜索的位置的起始位置)和System2类型的start2。 .Int32,它指定要停止搜索的结束位置。
- 返回类型:此方法的返回类型为System.Int32。
- 异常:如果start1或start2为负,或者start1大于当前字符串的长度,或者start2大于当前字符串的长度减去start1,则此方法可以提供ArgumentOutOfRangeException。
例:在下面的代码中,用户希望知道指定字符串“ My Life My Rules”中字符“ R”的索引,因此,此方法返回字符“ R”的索引值。再次对于start1> 1和start2 <8的情况,由于未找到任何字符,它再次返回-1。
// C# program to illustrate the
// String.IndexOf(char x, int start1,
// int start2) method
using System;
namespace ConsoleApplication3 {
class Geeks {
// Main Method
static void Main(string[] args)
{
string str = "My Life My Rules";
int index1 = str.IndexOf('R', 2, 14);
// Here starting index is < Index value of 'R'
// Also ending index is > Index of 'R'
// Hence It is obvious to return 11
Console.WriteLine("Index Value of 'R' with start"+
" Index =2 and end Index = 15 is " + index1);
// Now here starting index is chosen right
// However ending position is < index of 'R'
// Surely it will return -1
int index2 = str.IndexOf('R', 1, 8);
Console.WriteLine("Index Value of 'R' with start"+
" Index = 1 and end Index = 8 is " + index2);
}
}
}
输出:
Index Value of 'R' with start Index =2 and end Index = 15 is 11 Index Value of 'R' with start Index = 1 and end Index = 8 is -1
String.IndexOf(string s1) method
此方法返回字符串中指定子字符串首次出现的从零开始的索引。如果找不到这样的字符串,则它返回-1,与使用字符的情况相同。
用法:
public int IndexOf(string s1)
- 参数:此方法采用System.String类型的参数s1,该参数指定要搜索的子字符串。
- 返回类型:此方法的返回类型为System.Int32。如果找到该字符串,则为s1的从零开始的索引位置,否则为-1。如果s1为String.Empty,则返回值为0。
- 异常:如果s1为null,则此方法可以提供ArgumentNullException。
例:在下面的代码中,已知字符串“ How”出现在主字符串中,因此它将仅返回其第一个字符的索引值。但是,在下一种情况下,没有名称为“Chair”的子字符串,因此,它仅返回-1。
// C# program to illustrate the
// String.IndexOf(string s1) method
using System;
namespace ConsoleApplication4 {
class Geeks {
// Main Method
static void Main(string[] args)
{
string str = "Hello Friends....How are you...";
int i = str.IndexOf("How");
// As this string is present in the
// main string then it will obviously
// output the value as 17
Console.WriteLine("First value Index of 'How' is " + i);
// now the following string is not present
// So as per the rules, it will return -1
int i1 = str.IndexOf("Chair");
// As this string is present in
// the main string then it will
// obviously output the value as -1
Console.WriteLine("First value Index of 'Chair' is " + i1);
}
}
}
输出:
First value Index of 'How' is 17 First value Index of 'Chair' is -1
相关用法
- C# Math.Max()用法及代码示例
- C# Decimal.Add()用法及代码示例
- C# Math.Sin()用法及代码示例
- C# Math.Exp()用法及代码示例
- C# SortedDictionary.Add()用法及代码示例
- C# Math.Abs()方法用法及代码示例
- C# Math.Cos()用法及代码示例
- C# Math.Tan()用法及代码示例
- C# String.Contains()用法及代码示例
- C# Math.Abs()函数用法及代码示例
注:本文由纯净天空筛选整理自keshav_786大神的英文原创作品 C# | String.IndexOf() Method | Set – 1。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。