Addition en C#

Résolu
Bonjour a tous

Je suis debutant en programmation et j'essaie actuellement un programme tres simple,
effectuer une addition.
voici le code :

int A, B, C;
Console.WriteLine("nombre 1");
A = Console.ReadLine();
Console.WriteLine("nombre2");
B = Console.ReadLine();
C = A + B;
Console.WriteLine("le resultat est :" + C);
Console.ReadLine;

Mais a chaque fois la liste d'erreur (visual C# 2008) affiche:

impossible de convertir implicitement le type "string" en "int"

Quel est le probleme??

merci de votre aide

13 réponses

  • Votes
  • Date
  • Date décroissante
  1. Salut,

    c'est très simple, en fait la méthode Console.WriteLine, ne peut afficher qu'une string (Chaine de caractère), ou une concaténation de string.

    Or, ton C est un entier, il faut donc au préalable le convertir en string. Pour cela tu peux utiliser System.Convert.ToString

    Console.WriteLine("le resultat est :" + System.Convert.ToString(C));
    1. je ne pense pas que tu puisse faire A = Console.ReadLine();

      essaye A = int.Parse(Console.ReadLine());

      également

      essaye de remplacer :

      Console.WriteLine("le resultat est :" + C);

      par

      Console.WriteLine("le resultat est :" + C.ToString());
      1. J'ai suivi ton conseil mais maintenant la liste d'erreur affiche:

        Une référence d'objet est requise pour la propriété, la méthode ou le champ non statique

        le message s'affiche pour les trois variables
        1. essaye avec sa :

          static void Main(string[] args)
          {
          int A, B, C;
          Console.WriteLine("nombre 1");
          A = int.Parse(Console.ReadLine());
          Console.WriteLine("nombre2");
          B = int.Parse(Console.ReadLine());
          C = A + B;
          Console.WriteLine("le resultat est :" + C.ToString());
          Console.ReadLine();
          }
          1. La méthode Console.ReadLine() stock le résultat via un return dans le type string.

            Donc
            int A <= string 
            ne peut que générer une erreur si aucun Parse n'est fait
            1. Merci pour vos reponse.
              Effectivement le code source de Neyte fonctionne correctement.
              Il fallait donc convertir mes variables "int" en "string".
              1. converti tout les variables A,B,C non je crois c'est pas bon car c'est ta converti A ,et B quand tu veux faire l'addition il va faire la concaténation il faut juste converti la varaibles C en string

                C.toString();
                1. The "Read" and "ReadLine" methods are the main ways of acquiring data from the standard input stream. "ReadLine" reads a whole line of characters from the buffer up to the point where the first end line character ("\n") is found. It outputs its data as "string" (experienced C++

                  //---J'ai trouvé ça, traduit approximativement:
                  "Read" et "Readline" methods sont les façon principale d'acquérir des données d'un point d'entrée. Readline lit une ligne entière de caractères du buffer au point ou la ligne prend fin(lorsque q'un \n est trouvé). Il retourne une donnée de type "string"

                  Bienvenu dans le monde joyeux(mais pas tant que ça) du typage de données. En effet chaque variable correspond à un type : entier (int) chaine de caractéres(string) etc...On ne peut additioner que des int et readline fournit une chaine de caractéres.

                  Je peut pas dire mieux en C#, essaie de trouver un tuto sur les variables qui montre une addition dans ce langage.
                  1. Salut,

                    Essayes :

                    int A, B, C;
                    Console.WriteLine("nombre 1");
                    A = int.Parse(Console.ReadLine());
                    Console.WriteLine("nombre2");
                    B = int.Parse(Console.ReadLine());
                    C = A + B;
                    Console.WriteLine("le resultat est :" + C);
                    Console.ReadLine;