我对 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();
}
}
}
更新:
问题是它们的语法 items.IndexOf
和Array.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/