c# - items.IndexOf 不打印位置

标签 c# arrays foreach

我对 C# 编程相当陌生,刚刚学习完占位符和 Array 的巨大便利。可在 C# 中使用的库/方法。

我编写了一个非常简单的程序,它以 3 个字符串的填充数组列表开始。据我所知,我的一切都是正确的,但无论出于何种原因我的 items.IndexOf()方法只是并且总是打印出 0进入控制台。

任何人都可以告诉/教我为什么会发生这种情况吗?据我所知foreach语句应该更新数组的值,以便每次都通过 items.IndexOf()值应该改变,但事实并非如此。

这是我的简短代码,感谢任何建议、提示和帮助!


namespace ConsoleApplication01
{
class Program
{
    static void Main(string[] args)
    {
        string[] items = { "sword", "shield", "potion" };

        WriteLine("Quick! You're being attacked by a Goblin Bruiser!");
        WriteLine("Which item will you use?");

        foreach (string item in items)
        {
            WriteLine("{0} {1}",items.IndexOf(item), item);
        }

        ReadLine();
    }
}
}

enter image description here

更新: 问题是它们的语法 items.IndexOfArray.IndexOf 。 我假设因为我的 items 变量是一个数组,所以可以按照下面的代码所示的方式使用它。感谢所有教导过我的人!

最佳答案

你的变量混淆了

在for循环中它应该是items而不是item。像这样:

foreach (string item in items)
{
    WriteLine("{0} {1}", Array.IndexOf(items,item), item);
}

关于c# - items.IndexOf 不打印位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38254731/

相关文章:

c# - 如何获取使用过的dll的版本

c# - 在 C# 中卸载时,如何检查 <service>.exe 上的锁是否已释放?

arrays - UITableViewCell 如何知道要从数组或字典加载什么 JSON

javascript - 为什么 forEach() 在此对象循环中不起作用?

c# - 从嵌套对象中获取不同的值列表

c# - 跟踪 TCP 上已连接客户端的最佳方法是什么?

java - 自定义数组包装类类型转换安全/效率

javascript对象错误

java - For-Each 循环困惑的严重案例

php - 如何将一个查询的结果传递到第二个查询并在一个表中显示结果?