Fonction de plusieurs variables
crazyghandi
Messages postés
323
Statut
Membre
-
crazyghandi Messages postés 323 Statut Membre -
crazyghandi Messages postés 323 Statut Membre -
Bonjour,
je suis en train de faire un programme en C#. j'utilise pas mal de fonctions dont une qui
devrait me renvoyer un entier et une chaine de caracteres
quelqu'un sait comment renvoyer plusieurs variables depuis une meme fonction?
merci pour vos reponses
je suis en train de faire un programme en C#. j'utilise pas mal de fonctions dont une qui
devrait me renvoyer un entier et une chaine de caracteres
quelqu'un sait comment renvoyer plusieurs variables depuis une meme fonction?
merci pour vos reponses
A voir également:
- Fonction de plusieurs variables
- Fonction si et - Guide
- Fonction miroir - Guide
- Fonction moyenne excel - Guide
- Fonction remplacer sur word - Guide
- Fonction cachée google chrome - Guide
6 réponses
En programmation, dans le cas d'une fonction, on ne peut pas vraiment renvoyer plusieurs variables Cependant, il y a des "astuces" qui te le permettent. Perso, j'en vois deux :
1/ Tout betement tu crée une variable globale et tu la modifie dans ta fonction
ex :
variable v;
function X{
v= 3;
} => ainsi au sortir de ta fonction, ta variable gloable v a été modifiée et tu peux l'utiliser comme bon te semble.
2/ Autre solution peut etre un peu mieux d'un point de vue "codeur expérimenté":
tu renvoies un tableau qui contient tes variables que tu veux sortir de la fonction.
Ex
function X{
String monString ;
int monInt;
tab[1] = monString;
tab[0]=monInt;
return tab;
}
Voilà. Je n'ai jamais fait de C#. Cependant, en Java, Ada, ou C le fonctionnement est le meme...
J'espère que cela t'auras aidé.
ST
1/ Tout betement tu crée une variable globale et tu la modifie dans ta fonction
ex :
variable v;
function X{
v= 3;
} => ainsi au sortir de ta fonction, ta variable gloable v a été modifiée et tu peux l'utiliser comme bon te semble.
2/ Autre solution peut etre un peu mieux d'un point de vue "codeur expérimenté":
tu renvoies un tableau qui contient tes variables que tu veux sortir de la fonction.
Ex
function X{
String monString ;
int monInt;
tab[1] = monString;
tab[0]=monInt;
return tab;
}
Voilà. Je n'ai jamais fait de C#. Cependant, en Java, Ada, ou C le fonctionnement est le meme...
J'espère que cela t'auras aidé.
ST
Salut,
Une fonction ne peut avoir qu'un seul retour. Cependant, tu peux passer les paramètres en référence, au lieu d'en valeur Exemple ici.
ça va directement te modifier la valeur de la variable (ou des variables) dans la méthode qui appelle ta fonction (tu pourras même ne pas avoir de retour, si tu veux.
@Bientôt
Une fonction ne peut avoir qu'un seul retour. Cependant, tu peux passer les paramètres en référence, au lieu d'en valeur Exemple ici.
ça va directement te modifier la valeur de la variable (ou des variables) dans la méthode qui appelle ta fonction (tu pourras même ne pas avoir de retour, si tu veux.
@Bientôt
Merci pour vos reponses :
Saralix je vois comment tu veux faire mais est ce que je peux stocker un entier et une chaine de caracteres dans un meme tableau?
Dans le cas ou j'ai 2 caracteres :
function X{
char a;
char b;
char tab[2]
tab[1] = a;
tab[0]= b;
return tab;
}
Comment je fais pour recuperer dans mon prog principal?
peut etre un truc du genre
main (void)
{
char d;
char e;
char tableau[2];
tableau=X(d,e)
}
J'ai essaye mais je n'arrive pas a un resultat satisfaisant
merci quand meme pour ton aide
Saralix je vois comment tu veux faire mais est ce que je peux stocker un entier et une chaine de caracteres dans un meme tableau?
Dans le cas ou j'ai 2 caracteres :
function X{
char a;
char b;
char tab[2]
tab[1] = a;
tab[0]= b;
return tab;
}
Comment je fais pour recuperer dans mon prog principal?
peut etre un truc du genre
main (void)
{
char d;
char e;
char tableau[2];
tableau=X(d,e)
}
J'ai essaye mais je n'arrive pas a un resultat satisfaisant
merci quand meme pour ton aide
vlmath
est ce que tu pourrai adapter ta methode sur l'exemple basique qu'on a pris dans la discussion ?
merci
est ce que tu pourrai adapter ta methode sur l'exemple basique qu'on a pris dans la discussion ?
merci
Salut!
Alors tout d'abord non c'est vrai qu'en C# tu ne peux pas stocker des char et des int dans un tableau.
Cependant j'ai peut etre une solution qui est certes pas très très "programmatiquement correcte" mais qui peut marcher.
En fait tu crée 2 tableaux de 1 et tu crée un autre tableau de tableau qui contiendra les deux tableaux de 1.
Par exemple :
function X{
int a;
char b;
int tab1[1];
char tab2[1]
tab tab3[2]; (je sais pas si c'est vraiment possible en c#)
tab1[0] = a;
tab2[0] = b;
tab3[0]=tab1;
tab3[1] =tab[2];
return tab3;
}
et dans ton prog principal tu fais :
Main(){
tab tabPrincipal;
tabPrincipal =X();(avec des parametres si tu as des param à la fct X)
}
Voilà si cela ne marche pas je ne sais pas désolée...
En espérant avoir pu t'aider un petit peu ou au moins t'avoir mis sur la piste...
Bonne chance
Alors tout d'abord non c'est vrai qu'en C# tu ne peux pas stocker des char et des int dans un tableau.
Cependant j'ai peut etre une solution qui est certes pas très très "programmatiquement correcte" mais qui peut marcher.
En fait tu crée 2 tableaux de 1 et tu crée un autre tableau de tableau qui contiendra les deux tableaux de 1.
Par exemple :
function X{
int a;
char b;
int tab1[1];
char tab2[1]
tab tab3[2]; (je sais pas si c'est vraiment possible en c#)
tab1[0] = a;
tab2[0] = b;
tab3[0]=tab1;
tab3[1] =tab[2];
return tab3;
}
et dans ton prog principal tu fais :
Main(){
tab tabPrincipal;
tabPrincipal =X();(avec des parametres si tu as des param à la fct X)
}
Voilà si cela ne marche pas je ne sais pas désolée...
En espérant avoir pu t'aider un petit peu ou au moins t'avoir mis sur la piste...
Bonne chance
Salut!
Alors tout d'abord non c'est vrai qu'en C# tu ne peux pas stocker des char et des int dans un tableau.
Cependant j'ai peut etre une solution qui est certes pas très très "programmatiquement correcte" mais qui peut marcher.
En fait tu crée 2 tableaux de 1 et tu crée un autre tableau de tableau qui contiendra les deux tableaux de 1.
Par exemple :
function X{
int a;
char b;
int tab1[1];
char tab2[1]
tab tab3[2]; (je sais pas si c'est vraiment possible en c#)
tab1[0] = a;
tab2[0] = b;
tab3[0]=tab1;
tab3[1] =tab[2];
return tab3;
}
et dans ton prog principal tu fais :
Main(){
tab tabPrincipal;
tabPrincipal =X();(avec des parametres si tu as des param à la fct X)
}
Voilà si cela ne marche pas je ne sais pas désolée...
En espérant avoir pu t'aider un petit peu ou au moins t'avoir mis sur la piste...
Bonne chance
Alors tout d'abord non c'est vrai qu'en C# tu ne peux pas stocker des char et des int dans un tableau.
Cependant j'ai peut etre une solution qui est certes pas très très "programmatiquement correcte" mais qui peut marcher.
En fait tu crée 2 tableaux de 1 et tu crée un autre tableau de tableau qui contiendra les deux tableaux de 1.
Par exemple :
function X{
int a;
char b;
int tab1[1];
char tab2[1]
tab tab3[2]; (je sais pas si c'est vraiment possible en c#)
tab1[0] = a;
tab2[0] = b;
tab3[0]=tab1;
tab3[1] =tab[2];
return tab3;
}
et dans ton prog principal tu fais :
Main(){
tab tabPrincipal;
tabPrincipal =X();(avec des parametres si tu as des param à la fct X)
}
Voilà si cela ne marche pas je ne sais pas désolée...
En espérant avoir pu t'aider un petit peu ou au moins t'avoir mis sur la piste...
Bonne chance
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question