begin process at 2012 02 09 00:43:58
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive C#

 > 

Archives

 > 

.NET

 > 

Pile en C#


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Pile en C#

lundi 21 février 2005 à 14:22:54 | Pile en C#

ntrvdonett

Bonjour,

Pour me faire un peu mal, j'ai décidé de réecrire la gestion des piles en C#, bien
 qu'il existe une classe pour ça. Je suis confronté au problème suivant :

public void Empile (int val)
{
Spile* tempo = stackalloc Spile[1];

//Spile tempo = new Spile();
Console.WriteLine ("@ tempo : {0}",(int)tempo);
tempo->valeur = val;
if (debut == null)
tempo->suivant = null;
else
tempo->suivant = debut;
debut = tempo;
GC.KeepAlive (*tempo);
}

Malgrés mes précautions, mon objet tempo est considéré comme temporaire. A
chaque fois que j'entre dans ma fonction Empile, le system me réaloue le même
bloc mémoire !
Il ne me reste plus que trois cheveux sur la tête, ayez pitié d'eux, aidez moi. Smile
lundi 21 février 2005 à 21:19:30 | Re : Pile en C#

Bidou

Administrateur CodeS-SourceS
C'est vrai que c'est pas vraiment utile de créer quelque chose qui existe déjà au sein du Framework, et qui marche très bien d'ailleurs...
De plus, je ne vois pas pourquoi tu t'obstines à utiliser des pointeurs : les pointeurs c'est cool, mais en C# on préfère ne pas les utiliser : C'est pas pris en compte par le CLR et en plus, dans 99% des cas, ça n'amène absolument rien de plus.

Si tu tiens vraiment à refaire un sytème de Stack FIFO ou LIFO, prend un ArrayList et ajoute quelques méthodes utiles pour faire des pop,des push et autre action utile!



[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
mercredi 23 février 2005 à 09:31:45 | Re : Pile en C#

spaceclic

Ton système de liste chainée me parait bien, parcontre il faut que tu retournes la référence de l'object alloué dynamiquement.


mercredi 23 février 2005 à 10:24:57 | Re : Pile en C#

ntrvdonett

Merci pour vos reponses:

Bidou : L'interet de l'allocation dynamique est d'éviter de consommer de la
mémoire pour rien, c'est pourquoi je n'adopte pas la solution du tableau.
Si je me casse la tête avec ça, c'est juste pour le fun, je pense qu'en essayant
de faire ce qui existe déjà, on apprend beaucoup.

SpaceClic : Dans le corp de ma classe il existe un pointeur global qui permet
d'avoir un lien avec l'allocation dynamique. Il s'appel Debut dans le bout de
code que j'ai envoyé.

J'ai trouvé la solution au problème et je mettrai prochainement le code sur le
site, si ça vous interesse.
mercredi 23 février 2005 à 18:35:17 | Re : Pile en C#

Bidou

Administrateur CodeS-SourceS
Consommer de la mémoire pour rien.... pffarf !
Arrêtes voire !

Actuellement les compilateurs sont tellement bons, et les objets "pré-fabriqués" que nous offre le framework tellement optimisés que c'est vraiment parfaitement inutile de faire ce que tu veux. De plus, si les pointeurs te rendent fou de joie, programme plutôt en C/C++ mais pas en C#, je crois que tu t'es tout simplement trompé de langage...



[Pub] http://www.csharpfr.com/auteurdetail.aspx?ID=13319 [\Pub]
C# forever
dimanche 1 mai 2005 à 00:50:14 | Re : Pile en C#

RM50Man

i doit falloir utiliser fixed!!!
regarde ds la msdn library!!!

RM50man
lundi 2 mai 2005 à 08:22:21 | Re : Pile en C#

ntrvdonett

Réponse acceptée !
Hélas non, il ne suffit pas d'utiliser "fixed", tu penses bien que j'ai déjà essayé !!! Il faut utiliser une classe qui accede directement au systeme (je ne me souviens déjà plus du nom, il y a déjà 2 mois tu me diras)


Cette discussion est classée dans : tempo, debut, pile, spile, empile


Répondre à ce message

Sujets en rapport avec ce message

Pile FIFO [ par LuckyLuck ] C'était simplement pour savoir s'il existe une librairie system( ou autre) en C# qui crée une pile FIFO, ou si je dois programmer une classe qui en si Dur dur les debut en C# [ par chris81 ] bonjour, je viens de me mettre au C# et ben ca change la vie, pour le moment pas dans le bon sensj'ai l'habitude de vb.net alors quand je tape textbox Type global pour int[], string[], bool[] ..... [ par ricklekebekoi ] Hello,Mon problème va comme suit:Dans mon programme, jutilise différentes array de différents types (des bool[], des int[], des string[] ...)Je me sui Pile de message [ par taoetc ] Bonjour, j'aimerais savoir comment vider les piles de messages qu'il peut exister. Je connais le application.Doevents(); qui permet de traiter les mes dessiner cercle c# [ par Moucave ] Bonjour,   Voici mon probleme.J'aimerai dessinner un cercle dans une picturebox au dessus d'une image (image deja chargee dans la picture box avant de code + combobox [ par paloxicide ] Bonjour,dans mon code je crée une boucle pour récupérer les infos à mettre dans mon comboboxDonc je commence comme castring debut = "this.comboBox1.It DateTime [ par emmanuel9 ] Bonjour à tous, Quelqun aurait t'il une méthode pour obtenir la date du debut du mois en cours et la date de fin du mois en cours, genre pour ce moi streamwriter + debut de fichier .txt [ par jimmy69 ] bonjour a tous,j'ai une application console qui ne fait que d'enregistrer des valeurs dans un fichier .txtles informations sont enregistres les unes a Problème de adte [ par emmanuel9 ] Bonjour à tous, J'ai deux datetime Date_debut et Date_finet je voudrais que la période ainsi créer soit cohérante c'est à dire que le dateTime date_de probleme d'execution [ par cudenetf ] bonjour,je suis assez novice en c# et je rencontrre quelsques problemes a l'execution de mon programme.Il me semble qu'il fonctionnait normalement (=


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 3,635 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales