IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Le nom n'existe pas dans le contexte actuel


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Economiste
    Inscrit en
    Avril 2019
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Economiste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2019
    Messages : 18
    Par défaut Le nom n'existe pas dans le contexte actuel
    Bonjour,

    Je rencontre un soucis avec la déclaration d'une variable dont voici le code :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    37
    38
    39
    40
    41
    42
    43
    44
    45
    46
    47
    48
    49
    50
    51
    52
    53
    54
    55
    56
    57
    58
    59
    60
    61
    62
    63
    64
    65
    66
    67
    68
    69
    70
    71
    72
    73
    74
    75
    76
    77
    78
    79
    80
    81
    82
    83
    84
    85
    86
    87
    88
    89
    90
    91
    92
    93
    94
    95
    96
    97
    98
    99
    100
    101
    102
    103
    104
    105
    106
    107
    108
    109
    110
    111
    112
    113
    114
    115
    116
    117
    using System;
    using System.Collections.Generic; // Est obligatoir pour utiliser List
     
    namespace Interpolation_Lagrange
    {
    	public class Coordinate
    	{
    		public float x = 0;
    		public float y = 0;
    	}
     
    	public class Program
    	{
            static void Main(string[] args)
    		{
    			int i = 0;
    			int j = 0;
    			int n = 0;
     
    			// Variable enter
     
    			List<Coordinate> points = new List<Coordinate>();
     
    			Console.Write("Enter number of data : ");
    			n = Convert.ToInt32(Console.ReadLine());
    			Console.WriteLine("Enter data : ");
    			for (i = 0; i <= n - 1; i++)
    			{
    				Coordinate data = new Coordinate();
     
    				Console.Write($"x[{i}] = ");
    				data.x = Convert.ToSingle(Console.ReadLine());
    				Console.Write($"y[{i}] = ");
    				data.y = Convert.ToSingle(Console.ReadLine());
     
                    points.Add(data);
    			}
     
    			Console.Write("\n\n");
     
    			// Calculus method
    			for (i = 0; i <= n - 1; i++)
    			{
     
    				// Equation form
    				Console.Write($"l[{i}] = ");
     
    				for (j = 0; j <= n - 1; j++)
    				{
    					if (i != j)
    					{
    						Console.Write($"((x - x[{j}]) / (x[{i}] - x[{j}]))");
    					}
    				}
     
    				Console.Write("\n");
     
    				// Equation values
    				Console.Write($"l[{i}] = ");
     
    				for (j = 0; j <= n - 1; j++)
    				{
    					if (i != j && x[j] > 0 && x[i] > 0)
    					{
    						Console.Write($"((x - {x[j]}) / ({x[i]} - {x[j]}))");
    					}
     
    					if (i != j && x[j] < 0 && x[i] > 0)
    					{
    						Console.Write($"((x + {-x[j]}) / ({x[i]} + {-x[j]}))");
    					}
     
    					if (i != j && x[j] > 0 && x[i] < 0)
    					{
    						Console.Write($"((x - {x[j]}) / (- {-x[i]} - {x[j]}))");
    					}
     
    					if (i != j && x[j] < 0 && x[i] < 0)
    					{
    						Console.Write($"((x + {-x[j]}) / (- {-x[i]} + {-x[j]}))");
    					}
    				}
     
    				Console.Write("\n");
     
    				// Factored equation
    				Console.Write($"l[{i}] = ");
     
    				float eq = 1;
     
    				for (j = 0; j <= n - 1; j++)
    				{
    					if (i != j)
    					{
    						eq *= (1 / (x[i] - x[j]));
    					}
    				}
    				Console.Write(eq);
     
    				for (j = 0; j <= n - 1; j++)
    				{
    					if (i != j && x[j] > 0)
    					{
    						Console.Write($"(x - {x[j]})");
    					}
     
    					if (i != j && x[j] < 0)
    					{
    						Console.Write($"(x + {-x[j]})");
    					}
    				}
     
    				Console.Write("\n\n");
    			}
    		}
    	}
    }
    On peut peut voir qu'il est fait référence de "x" de la ligne 63 jusqu'à la ligne 109, mais VS m'affiche "Le nom 'x' n'existe pas dans le contexte actuel".

    Je me disais qu'en entrant "Program x = null;" le problème allait se résoudre mais il persiste toujours.

    Comment régler ça ?

    Je vous remercie pour votre aide.

  2. #2
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 155
    Par défaut
    Bonjour,

    Sans doute veux-tu accéder aux data.x dans la liste points ?

    Ce serait alors quelque chose sous cette forme syntaxique :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
     
         if (i != j && points[j].x > 0 && points[i].x > 0)
         ...

  3. #3
    Membre averti
    Homme Profil pro
    Economiste
    Inscrit en
    Avril 2019
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Economiste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2019
    Messages : 18
    Par défaut
    Bonjour,

    Merci Krantz, ça m'enlève une belle épine du pied. Je n'y ai avait pas pensé et en cherchant rien ne m'emmenait à rectifier mon code comme ça. Par contre j'ai voulu tester avec "pst.x", mais j'ai du mal à comprendre pourquoi sans faire référence à j ou i, Visual Studio me dit que ça ne contient pas de définition pour x.

  4. #4
    Membre expérimenté
    Profil pro
    Inscrit en
    Février 2009
    Messages
    155
    Détails du profil
    Informations personnelles :
    Localisation : France, Indre et Loire (Centre)

    Informations forums :
    Inscription : Février 2009
    Messages : 155
    Par défaut
    Citation Envoyé par Devellopy Voir le message
    Bonjour,

    Merci Krantz, ça m'enlève une belle épine du pied. Je n'y ai avait pas pensé et en cherchant rien ne m'emmenait à rectifier mon code comme ça. Par contre j'ai voulu tester avec "pst.x", mais j'ai du mal à comprendre pourquoi sans faire référence à j ou i, Visual Studio me dit que ça ne contient pas de définition pour x.
    x et y sont des données de la classe Coordinate qui sont stockées dans les objets data de cette classe. Ces objets data étant eux-même stockés dans la liste Points on y accède en utilisant un index de la liste. On accède au premier objet data de la liste par l'index 0 : Points[0], et donc à x de ce premier objet par Points[0].x
    Faire référence à x sous une autre forme provoque le message d'erreur de Visual Studio.

  5. #5
    Membre averti
    Homme Profil pro
    Economiste
    Inscrit en
    Avril 2019
    Messages
    18
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 28
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Economiste
    Secteur : Bâtiment

    Informations forums :
    Inscription : Avril 2019
    Messages : 18
    Par défaut
    D'accord, si je comprends il y a comme arborescence à respecter, et si on saute une étape le code retourne une erreur

Discussions similaires

  1. Le nom ' ' n'existe pas dans le contexte actuel
    Par Térence01 dans le forum Windows Forms
    Réponses: 4
    Dernier message: 01/04/2014, 15h59
  2. Le nom n'existe pas dans le contexte actuel
    Par Moana689 dans le forum ASP.NET
    Réponses: 4
    Dernier message: 27/05/2013, 13h58
  3. Réponses: 2
    Dernier message: 19/02/2011, 14h57
  4. Erreur: Le nom n'existe pas dans le contexte actuel
    Par khawlita dans le forum Accès aux données
    Réponses: 1
    Dernier message: 07/04/2009, 18h37
  5. Réponses: 3
    Dernier message: 25/06/2008, 14h01

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo