【问题标题】:Array indexing with integers使用整数进行数组索引
【发布时间】:2013-10-28 04:57:35
【问题描述】:

我试图通过使用整数作为索引号从字符串数组中获取一个元素,但我不断收到错误:

无法将 [] 索引应用于“int”类型的表达式

我非常感谢任何可用的帮助,因为我对严肃的编程很陌生。

这是代码:http://pastebin.com/sa91zHWw

assetClient.DownloadFile("https://s3-eu-west.amazonaws.com/delvegame/versions/" +versionList[numOfItems]+".txt");

【问题讨论】:

  • 给我们看看versionList的定义?
  • 看起来versionListint,而不是数组。
  • 发布versionList 的声明方式
  • String[] versionList = File.ReadAllLines(runpath + "\\cfg\\versionList.txt");
  • 请使用System.IO.Path.Combine 来组合路径 - 它更安全(虽然它是一个 IO 功能,但对 web 效果不佳)

标签: c# arrays int


【解决方案1】:

试试这个:

for (int i = 0; i < numOfItems; i++)
{
    if (versionDropdown.SelectedIndex == i)
    {
        assetClient.DownloadFile("https://s3-eu-west.amazonaws.com/delvegame/versions/" +versionList[i].ToString()+".txt")
    }
}

【讨论】:

  • 好的,谢谢。我最初将 versionList 定义为字符串数组:
  • String[] versionList = File.ReadAllLines(runpath + "\\cfg\\versionList.txt");
【解决方案2】:

我想你已经将versionList 声明为

private int versionList;

当您打算将其作为数组时。您应该将定义更改为

private int[] versionList;

【讨论】:

    【解决方案3】:

    看起来versionList 变量的类型确实是int,而不是您描述的string 数组。

    这解释了您收到此消息的原因:

    无法将 [] 索引应用于“int”类型的表达式

    将其声明更改为:

    private int[] versionList;
    

    或:

    private string[] versionList;
    

    【讨论】:

      猜你喜欢
      • 2013-02-11
      • 1970-01-01
      • 2018-05-02
      • 1970-01-01
      • 2011-05-27
      • 2020-08-27
      • 2023-03-17
      • 1970-01-01
      • 2023-03-04
      相关资源
      最近更新 更多