IndexOf在c#

时间:2018-11-08 22:45:35

标签: c# string indexof

这似乎是一个重复的问题,但事实并非如此。

我有一个简单的代码。有一个名为book且值为"mybook"的字符串。 我想在'y'字符串中找到"mybook"字符的索引。因此,我使用了这段代码,但是没有返回'y'字符的索引。

string book = "mybook";
char y = 'y';
int yPosition = book.IndexOf(y);

Console.WriteLine("y position is: ", yPosition);

当我运行这段代码时,答案就是这样而已:

y position is: 

3 个答案:

答案 0 :(得分:2)

您忘记打印yPosition的值:

Console.WriteLine($"y position is: {yPosition}");

如果在此实例中找不到字符或字符串,则IndexOf方法将返回-1。因此,您的变量yPosition应该始终具有一些int值。如果您在行上设置了断点,则可以检查它:

int yPosition = book.IndexOf(y);

答案 1 :(得分:2)

您忘记了将格式元素包含在格式字符串中的包含。

如果您更改

Console.WriteLine("y position is: ",yPosition);

Console.WriteLine("y position is: {0}",yPosition);

您应该得到所需的行为。如果要在Console.WriteLine调用上设置断点,则可以在调试模式下验证yPosition的值,并且该值是1。

答案 2 :(得分:1)

Console.WriteLine中,您忘记提供yPosition的格式位置。将行更改为以下内容:

Console.WriteLine("y position is: {0}",yPosition);