Besoin d'aide en c#

Fermé
Natacha - 11 avril 2010 à 13:36
 Natacha - 11 avril 2010 à 17:39
Bonjour,
J'ai commencé ce matin l'appentissage du c#.
J'ai fait un petit programme comme énoncé dans mon tuto et il ne marche pas pourriez-vous m'expliquer pourquoi, svp?

mon code :
using System;

class chaine
  {
    public static void Main()
      {
	string chaine1 = "salut";
	Console.WriteLine(chaine1);
	string chaine1 = "42";
	Console.WriteLine("{0} est stocké dans une variable de type string", chaine1);
	int chaine = Convert.ToInt32("42");
	Console.WriteLine("{0} est stockée dans une variable de type \"INT\"", chaine);
	Console.Read();

    return;
      }
  }


et voilà l'erreur qu'il me renvoit :

chaine.cs(9,16): error CS0128: A local variable named 'chaine1' is already defined in this scope
chaine.cs(7,16): (Location of the symbol related to previous error)
Compilation failed: 1 error(s), 0 warnings

C'est quoi un scope?

merci

2 réponses

chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
Modifié par chuka le 11/04/2010 à 13:50
string chaine1 = "salut";
Console.WriteLine(chaine1);
string chaine1 = "42";
Renomme le deuxième chaine1 en chaine2...sinon erreur lors de la compil car 2 variables ont le même nom dans la même portée de code..
ou sinon
string chaine1 = "salut";
Console.WriteLine(chaine1);
chaine1 = "42"; //pour affecter une nouvelle valeur à ta variable!!
@+
0
ok mais moi ce que je veux c'est que chaine1 change de valeur.
Je ne veux pas créer une nouvelle variable.
et je ne veux plus que chaine1 n'affiche jamais autre chose que 42.
0
chuka Messages postés 965 Date d'inscription samedi 11 octobre 2008 Statut Membre Dernière intervention 29 juillet 2010 378
Modifié par chuka le 11/04/2010 à 14:22
class chaine
  {
public static void Main()
        {
            string chaine1 = "salut";
            Console.WriteLine(chaine1);
            chaine1 = "42";
            Console.WriteLine("{0} est stocké dans une variable de type {1}", chaine1,chaine1.GetType().Name);
            int chaine = Convert.ToInt32(chaine1);
            Console.WriteLine("{0} est stockée dans une variable de type {1}", chaine,chaine.GetType().Name);
            Console.Read();

            return;
        }
}
0
Merci,
0