这似乎是一个重复的问题,但事实并非如此。
我有一个简单的代码。有一个名为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:
答案 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);