[DB-AL] Nombre et nom de variable variable

Pour les scripts écrits en C#
Règles du forum
Merci de respecter la NOMENCLATURE suivante pour vos TITRES de messages :

Commencez par le niveau de vos scripts
DB = Débutant
MY = Moyen
CF = Confirmé

Puis le domaine d'application
-RS = Réseau
-AL = Algorithmie

Exemple :

[DB-RS] Mouvement perso multijoueur
Avatar de l’utilisateur
Fiyeurfox
Messages : 72
Inscription : 25 Juin 2015 20:11

[DB-AL] Nombre et nom de variable variable

Message par Fiyeurfox » 03 Déc 2017 11:37

bonjour tout le monde après un petit moment d'absence je reviens vair vous, car je rencontre un petit problème.

je suis en train de "parsé" un fichier "Json"

et je m'heurte à une petite difficulté en effet les fichiers Json permettent de stoker des données dans des sortes de tableaux dont la t'aille est variable (ps je parle ici de la structure des fichier et nom d'un traitement par algo dsl si s'est pas très claire)
pour stoker les données provenant de mon JSon j'utilise des variables public sur des GameObject.

jusque la tout va bien mais l'osque j'arrive sur un "tableaux" du Json je voudrai pouvoir rajoutée le bon nombre de variables publiques sur mon GameObj avec des noms précis.

j'ai donc essayé de génères des variables publiques avec un nom variable est ça n'a pas fonctionné (le compilateur se suicide) car si j'ai bien compris on ne peut pas déclarer une variable dont le nom est une variable

je vous donne le morceau "dalgo" en question

Code : Tout sélectionner

void Start () {
		int i = 0;
		string a = "bigin_date";// nom de la var comme il peut en avoir 2 ou plus je veut rajoutée un num a la fin  
	//	string b = "end_date";
	//	string c = "care_unit_id"; 
	//	string d = "care_unit_mnemo";
	//	string e = "care_unit_long_label";
		while (i < Number_passages) { // Number_passages corespond au nombre de variable a générée 
			public string a + i.ToString(); // le probleme est ici !!!
			i++;
		}	
	}
mercis pour vautre aide :) :merci: :merci: et veillez m'excusez pour les fautes d'orthographe présent ici je ne peut les repéré tout seul :( :amen: :amen:
JC

Avatar de l’utilisateur
Max
Messages : 8772
Inscription : 30 Juil 2011 13:57
Contact :

Re: [DB-AL] Nombre et nom de variable variable

Message par Max » 03 Déc 2017 12:18

Hello,
jusque la tout va bien mais l'osque j'arrive sur un "tableaux" du Json je voudrai pouvoir rajoutée le bon nombre de variables publiques sur mon GameObj avec des noms précis.

j'ai donc essayé de génères des variables publiques avec un nom variable est ça n'a pas fonctionné (le compilateur se suicide) car si j'ai bien compris on ne peut pas déclarer une variable dont le nom est une variable
là tu pars dans une direction qui n'a rien de simple. Si je ne me trompe pas sur le plan théorique, cela pourrait se rapprocher d'un sujet récent du forum: viewtopic.php?f=89&t=14743

Sinon, concernant le bout de code que tu fournis, tu définis deux variables locales avec un même nom (a)
(ton compil devrait d'ailleurs te le signaler avec un message du genre: impossible de déclarer une variable locale dans cette portée car le nom est utilisé dans une portée locale englobante).
Pourquoi cette définition de nouveau de 'a' dans ta boucle While ?
Au pire, je suppose que tu voulais partir sur un truc du genre a += i.ToString(); , ceci dit, tu vas ajouter à chaque itération la valeur de 'i', ce qui donnera 'bigin_date0' puis 'bigin_date01' puis 'bigin_date012', etc....
Bref ton approche parait confuse, bien compliqué à priori, et la mise en œuvre du code montre de vrai lacune sur les bases ;)
Image
Pas d'aide par MP, le forum est là pour ça.
En cas de doute sur les bonnes pratiques à adopter sur le forum, consulter la Charte et sa FAQ

Avatar de l’utilisateur
Fiyeurfox
Messages : 72
Inscription : 25 Juin 2015 20:11

Re: [DB-AL] Nombre et nom de variable variable

Message par Fiyeurfox » 03 Déc 2017 14:56

déjà mercis pour ta réponse :)
Pourquoi cette définition de nouveau de 'a' dans ta boucle While ?
Au pire, je suppose que tu voulais partir sur un truc du genre a += i.ToString(); , ceci dit, tu vas ajouter à chaque itération la valeur de 'i', ce qui donnera 'bigin_date0' puis 'bigin_date01' puis 'bigin_date012', etc....
Bref ton approche parait confuse, bien compliqué à priori, et la mise en œuvre du code montre de vrai lacune sur les bases ;)
je ne cherche pas à redéfinir "a" sinon j'aurais mis le signe '='

en d'autres termes j'essai de faire ça : nouvelle variable de type string qui porte le nom de la chaine de caractère 'a' suivis de la valeur de 'i' la string sera attribuée plus tard (je cherche juste a crée la variable pour l'instant)

ça semble être ce que l'autre topique que tu m'as donnée traite mais, ça ne m'a pas l'air facile facile :/

je vais me pencher dessus mercis de ton attention bonne journée :merci: :merci: :super:
JC

Avatar de l’utilisateur
Fiyeurfox
Messages : 72
Inscription : 25 Juin 2015 20:11

Re: [DB-AL] Nombre et nom de variable variable

Message par Fiyeurfox » 19 Déc 2017 14:34

Oula bon déjà je dois m'excusée de ne pas être repassée pour donner la solution que j'ai utilisé sa pourrait servir à des débutants comme moi :)

Du coup j'ai simplement crée des prefab avec les variables sur un petit script qui a toute c'est var en public (pour avoir accée depuis l'inspecteur) et j'instancie un nombre de prefab en fonction du nombre de var que j'ai besoin en children du gameobj sur le quelle je voulais pouvoir ajouter un nombre indéfinis de variable voilà^^

bonne journée :ange:
JC

Narkos
Messages : 46
Inscription : 15 Août 2017 10:22
Localisation : Localisation impossible

Re: [DB-AL] Nombre et nom de variable variable

Message par Narkos » 01 Jan 2018 19:33

Hello,

Sinon pour éviter de créer des prefabs, GameObjects, Transforms, etc pour stocker des string, tu peux utiliser un Dictionary<string,string>.

Code : Tout sélectionner

Dictionary<string, string> mesVars = new Dictionary<string, string>();
mesVars.Add("clé", "valeur");
Bon dév

Répondre

Revenir vers « (C#) CSharp »