2 votes

items.IndexOf n'imprime pas la position

Je suis relativement novice en matière de programmation C# et je viens tout juste de me familiariser avec les caractères de remplacement et la grande commodité de l'outil de gestion des données. Array les bibliothèques/méthodes qui peuvent être utilisées en C#.

J'ai écrit un programme très simple qui commence avec une liste de 3 chaînes de caractères dans un tableau. Tout est correct, pour autant que je sache, mais pour une raison ou une autre, mon programme ne fonctionne pas correctement. items.IndexOf() est seulement et toujours en train d'imprimer 0 dans la console.

Quelqu'un peut-il me dire ou m'apprendre pourquoi cela se produit ? Pour autant que je sache, un foreach doit mettre à jour les valeurs du tableau de manière à ce que chaque passage par la commande items.IndexOf() La valeur devrait changer mais ce n'est pas le cas.

Voici mon code court et j'apprécie tous les conseils, astuces et aide !


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

UPDATE : Le problème était la syntaxe de items.IndexOf y Array.IndexOf . J'ai supposé que puisque ma variable items était un tableau, elle pouvait être utilisée de la manière dont mon code ci-dessous le montre. Merci à toutes les personnes qui m'ont enseigné !

4voto

Shachaf.Gortler Points 1162

Vous avez mélangé vos variables

il devrait l'être items no item dans la boucle for. comme ceci :

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X