J'essaie de créer une liste de tableaux de valeurs entières et d'exécuter certaines opérations mathématiques de base, comme indiqué ci-dessous.

int dice1 = 4;
int dice2 = 3;
int dice3 = 6;
int dice4 = 4;
int dice 5 = 5;

ArrayList numbers = new  ArrayList();
        numbers[4] = dice5;
        numbers[3] = dice4;
        numbers[2] = dice3;
        numbers[1] = dice2;
        numbers[0] = dice1;

numbers[3] = numbers[3] * numbers[2];

Cependant, l'ordinateur ne me permet pas de faire cela et produit une erreur "Opérateur" * "ne peut pas être appliqué aux opérandes de type" objet "et" objet "". Comment puis-je réparer ça? Je pense que je dois définir la liste des tableaux comme un tableau d'entiers ... mais je ne suis pas trop sûr. Veuillez garder les réponses simples car je suis assez nouveau dans C # unity.

Merci!

0
Siddharth Sengupta 27 juil. 2017 à 15:02

2 réponses

Vous devez analyser l'objet en chaîne puis en valeur int, puis l'utiliser avec l'opérateur *.Mais vous devez d'abord initialiser l'arraylist avec des valeurs nulles, puis attribuer des valeurs numériques.Pour cela, utilisez le code suivant que j'ai apporté des modifications claires pour vous.

int dice1 = 4;
    int dice2 = 3;
    int dice3 = 6;
    int dice4 = 4;
    int dice5 = 5;
    int capacity=5;
    ArrayList numbers = new ArrayList(capacity);
    for (int i = 0; i < capacity;i++ )
    {
        numbers.Add(null);
    }
    numbers[4] = dice5;
    numbers[3] = dice4;
    numbers[2] = dice3;
    numbers[1] = dice2;
    numbers[0] = dice1;

    numbers[3] = (int.Parse(numbers[3].ToString()) * int.Parse(numbers[2].ToString()));
    print(numbers[3]);
-1
Arslan Ali 28 juil. 2018 à 23:40

Évitez d'utiliser la liste de tableaux

Utilisez List<int> ou int[]

Ensuite, les objets contenus sont typés au lieu d'être objet

0
Jamadan 27 juil. 2017 à 12:04