Questions sur les pointeurs

Résolu
graphtyrael Messages postés 12 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 18 juillet 2006 - 11 oct. 2005 à 18:56
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 - 12 oct. 2005 à 09:00
Bonjour à tous !

Débutant en c#, je me pose plusieurs questions autour des pointeurs. J'ai compris en fouinant sur le forum que le c# ne favorisait pas les pointeurs et qu'on pouvait les remplacer avantageusement par des "références".
--> Mais alors : Qu'est-ce qu'une référence ?

Mon problème se pose alors que je souhaite pouvoir obtenir deux informations d'une fonction : en temps normal (en C), on utilise la sortie + un pointeur passé en argument de la fonction dont on modifie le contenu dans la fonction.
--> Comment faire alors en C# puisque les pointeurs ne semblent pas être les biens venus. (variables globales? )

Tant de questions mystérieuses !

Merci par avance de vos réponses.

- Graph Tyraël -

8 réponses

cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
11 oct. 2005 à 19:53
Tu peux très bien utilisé des pointeurs avec C# mais ce n'est pas non
plus très conseillé à moins de vouloir utilisé certaines méthodes
faites pour optimiser les traitement mais elles sont rares et dans ton
cas complètement inutile. Si tu veux utiliser les pointeurs dans C#,
voici une petite introduction :

http://blogs.developpeur.org/neodante/articles/9744.aspx



Mais vas voir plutot sur les mot clé out :

http://msdn.microsoft.com/library/default.asp?url=/library/en-us/csref/html/vclrfOut.asp



Cela devrait t'aller !



++
3
graphtyrael Messages postés 12 Date d'inscription dimanche 22 décembre 2002 Statut Membre Dernière intervention 18 juillet 2006
11 oct. 2005 à 20:03
Merci beaucoup pour ta réponse !

"Out" semble en effet correspondre à mon attente.

Bonne Soirée !

- Graph Tyraël -
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
12 oct. 2005 à 06:13
si ton paramètre est de type Entrée / Sortie, je te conseille le mot clé "ref"

Sébastien FERRAND
[MVP C#]
0
taoetc Messages postés 346 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 3 septembre 2007 3
12 oct. 2005 à 08:27
je ne conaissais pas le mot clé out, et j'utilisais toujours ref,
je suis allé voir dans msdn et ne vois pas trop les différences, est ce que quelqu'un peut m'en dire un peu plus la dessus?

In the mood for ... ba heu, for quelque chose qui est vachement bien ( oui je sais , n'importe quoi)
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
12 oct. 2005 à 08:51
en fait, ref sert lorsque tu as une variable initialisée avant l'appelle de la méthode et sa valeur et modifiée à l'intérieur.

et out sert lorsque ta variable est initialisée et modifiée à l'intérieur de la méthode.

Exemples :

private void UtilisationRef( ref int maValeur ) {
maValeur += 10;
}

int maValeur = 10;
UtilisationRef ( ref maValeur );
// maValeur vaut 20 ici

private void UtilisationOut ( out int maValeur ) {
maValeur = 10;
}

int maValeur;
UtilisationOut ( out maValeur );
// maValeur vaut 10 ici

Voila, j'espère que c'est suffisament clair ;)

Sébastien FERRAND
[MVP C#]
0
taoetc Messages postés 346 Date d'inscription lundi 8 septembre 2003 Statut Membre Dernière intervention 3 septembre 2007 3
12 oct. 2005 à 08:53
oui, totalement tres vachement clair,

J'avais jeté un coup d'oeil à msdn, mais le truc était en anglais de tres bon matin, c'est parfois difficiel, et puis, il arrive toujours à mettre des exemples daubés

merci seb,
In the mood for ... ba heu, for quelque chose qui est vachement bien ( oui je sais , n'importe quoi)
0
cs_neodante Messages postés 2835 Date d'inscription lundi 11 août 2003 Statut Modérateur Dernière intervention 16 décembre 2006 11
12 oct. 2005 à 08:56
Il a pas été nommé MVP pour rien le seb ;-)

Encore félicitation !



ciao
0
sebmafate Messages postés 4936 Date d'inscription lundi 17 février 2003 Statut Membre Dernière intervention 14 février 2014 37
12 oct. 2005 à 09:00
merci

Sébastien FERRAND
[MVP C#]
0
Rejoignez-nous