我对C#编程相当陌生,刚刚学习了占位符以及可以在C#中使用的Array
库/方法的极大便利。
我编写了一个非常简单的程序,它以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变量是一个数组,它可以按我下面的代码显示的方式使用。感谢所有教过我的人!
答案 0 :(得分:4)
你的变量混乱了
for循环中应该items
而不是item
。像这样:
foreach (string item in items)
{
WriteLine("{0} {1}", Array.IndexOf(items,item), item);
}