Bonjour , je veux récupérer la valeur de l'adresse de la variable "valstr", du coup créer une nouvelle variable qui pointe sur l'adresse de "valstr" , mais j'arrive pas à l'afficher , c'est juste ce que j'ai fait ? vous avez des idées
Bonjour , je veux récupérer la valeur de l'adresse de la variable "valstr", du coup créer une nouvelle variable qui pointe sur l'adresse de "valstr" , mais j'arrive pas à l'afficher , c'est juste ce que j'ai fait ? vous avez des idées
Salut,
Essaye de mettre .ToString() après &val_real
il prends pas .Tostring()
C'est parce-que tu utilises un pointeur, tu peux passer par une variable "standard". tu recrée une variable decimal, tu lui affecte le résultat puis tu peux la convertir en chaîne.
Ceci-dit je ne vois pas pourquoi tu te donnes tout ce mal alors que tu as déjà la valeur décimale dans valstr (mal nommée du coup), à moins que ce soit juste pour expérimenter.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 decimal d = 10; decimal* dPtr = &d; &dPtr // adresse de dPtr dPtr // contenu de dPtr (adresse de d) *dPtr // déréférencement de dPtr (contenu de d) Console.WriteLine(*dPtr); // 10
C'est quoi l'intérêt de jouer avec des pointeurs en C# ?
Initialement, c'est justement une des principales différences syntaxiques entre C# et C++ annoncée à la sortie de C# 1.0 : l'absence de la gestion des pointeurs par l'utilisateur (ainsi que de la mémoire).
Selon le type utilisé, soit ce sont des types valeurs (chaque "copie" de la variable se fait avec son propre espace mémoire) soit référence (chaque "copie" de la variable pointe sur le même espace).
Si tu as besoin d'accéder à l'espace mémoire d'une variable de type valeur, c'est normalement depuis une méthode appelée dans un autre contexte (sinon la variable est disponible et on ne se pose pas la question).
Dans ce cas, tu utilise le mot-clé "ref" à la fois dans la signature de la méthode et lors de son appel: https://docs.microsoft.com/fr-fr/dot...ype-parameters
Tout le reste du code reste inchangé, et tu n'as jamais à manipuler de pointeur.
Partager