【问题标题】:IndexOf does not return any value in c# [closed]IndexOf 在 c# 中不返回任何值 [关闭]
【发布时间】:2018-11-08 22:45:35
【问题描述】:

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

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

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

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

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

y position is: 

【问题讨论】:

    标签: c# string indexof


    【解决方案1】:

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

    如果你改变了

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

    到

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

    你应该得到想要的行为。如果要在 Console.WriteLine 调用上放置断点,则可以在调试模式下验证 yPosition 有一个值,并且它的值为 1。

    【讨论】:

      【解决方案2】:

      您忘记打印 yPosition 的值:

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

      如果在此实例中找不到字符或字符串,IndexOf 方法将返回 -1。这就是为什么你的变量yPosition 应该总是有一些 int 值。如果在行上设置断点可以检查一下:

      int yPosition = book.IndexOf(y);
      

      【讨论】:

        【解决方案3】:

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

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

        【讨论】:

          猜你喜欢
          • 2018-01-17
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2016-04-27
          • 2017-04-03
          • 2017-11-01
          相关资源
          最近更新 更多