[C#] Déclarer un array d'instances de classes ?

Déclarer un array d'instances de classes ? [C#] - C#/.NET managed - Programmation

Marsh Posté le 21-09-2004 à 03:12:52    

'soir:)
petit souci.
dans une appli, j'ai une classe d'objet (rssItem). Ce que je voudrais, c'est dans une autre classe (rssFeed), avoir un array d'instances de cette classe. J'ai fait ça de cette manière là dans le constructeur de ma classe rssFeed :
 

Code :
  1. rssItem[] items = new rssItem[10];
  2. items[0].setTitle("bonjour" );


 
items est une donnée de la classe rssFeed.
le souci, c'est que ca se plante sur la seconde ligne [:ddr555] (ligne de test bien sur, hein :o )
Le constructeur de ma classe rssItem ne prend rien en argument, je vois pas ce qui cloche...
Comment jpeux faire? Une idée?
Merci :jap:


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 21-09-2004 à 03:12:52   

Reply

Marsh Posté le 21-09-2004 à 08:55:53    

tu n'a pas fait d'arrylist o final ?
 
pour le cas que tu donne il faut instancier tes items


Message édité par neogally le 21-09-2004 à 08:56:34
Reply

Marsh Posté le 21-09-2004 à 09:14:05    

Bah jveux bien, mais jfais ça comment ? [:spamafote]


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 21-09-2004 à 09:16:10    

Voila le début du code de la classe :
 

Code :
  1. public class rssFeed
  2. {
  3.  private string channelTitle;
  4.  private string channelUrl;
  5.  private string channelDescription;
  6.  private string rssUrl;
  7.  private double ttl;
  8.  private rssItem[] items;
  9.  private DateTime channelLastRefresh;
  10.  public rssFeed(string url, bool update)
  11.  {
  12.   rssUrl=url;
  13.   rssItem[] items = new rssItem[15];
  14.   items[0].setTitle("bonjour" );
  15.   if(update)
  16.    downloadRss();
  17.  }


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 21-09-2004 à 09:36:04    

alors c simple voila comment tu peut proceder :
 
tu crée une classe rssFeed

Code :
  1. using System.Collections;
  2. public class rssFeed
  3. {
  4.    private ArrayList _items;
  5.    private string channelTitle;
  6.    private string channelUrl;
  7.    private string channelDescription;
  8.    private string rssUrl;
  9.    private double ttl;
  10.    //private rssItem[] items;  
  11.    private DateTime channelLastRefresh;
  12.    public rssFeed(string url, bool update)
  13.    {
  14.       rssUrl=url;
  15.       _items = new ArrayList();
  16.       //rssItem[] items = new rssItem[15];  
  17.       //items[0].setTitle("bonjour" );  
  18.       if(update)
  19.           downloadRss();
  20.    }
  21.    .....
  22.    // Ajoute un item a l'ArrayList
  23.    public void AddItem(rssItem item)
  24.    {
  25.       _items.Add(item);
  26.    }
  27.    ......
  28.    // methode qui te retrouvera un rssItem
  29.    public bool findItems(rssItem item)
  30.    {
  31.       for(int i=0;i<_items.Count;i++)
  32.       {
  33.           rssItem fitem = (rssItem)_items.getElementAt(i);
  34.           if (fitem.title == item.title)
  35.           {
  36.               return true;
  37.           }
  38.       }
  39.       return false;
  40.    }
  41.    ......
  42.    // methode qui te retournera une ArrayList de rssItem
  43.    public ArraList getItems()
  44.    {
  45.       return _items;
  46.    }
  47.    .....
  48. }


 
Voila par exemple ce que tu pourrai faire pour la gestion de tes rssItems
 
Enfin c une idée il y a d'autres solutions mais c tres simple avec les ArrayList
 
p.s = je suis plus sur des nom de methode pour les ArrayList mais il sont facilement retrouvable si il y a une erreur tu peut aller voir la doc sur les ArrayList ya plein d'exemples  ;)


Message édité par neogally le 21-09-2004 à 09:37:48
Reply

Marsh Posté le 21-09-2004 à 09:40:17    

Merci! Je vais voir ça! :hello:


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 21-09-2004 à 11:11:24    

Ca marche impeccablement bien :jap: ;)


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Marsh Posté le 21-09-2004 à 13:34:58    

freds45 a écrit :

'soir:)
petit souci.
dans une appli, j'ai une classe d'objet (rssItem). Ce que je voudrais, c'est dans une autre classe (rssFeed), avoir un array d'instances de cette classe. J'ai fait ça de cette manière là dans le constructeur de ma classe rssFeed :
 

Code :
  1. rssItem[] items = new rssItem[10];
  2. items[0].setTitle("bonjour" );


 
items est une donnée de la classe rssFeed.
le souci, c'est que ca se plante sur la seconde ligne [:ddr555] (ligne de test bien sur, hein :o )
Le constructeur de ma classe rssItem ne prend rien en argument, je vois pas ce qui cloche...
Comment jpeux faire? Une idée?
Merci :jap:


 
rssItem[] items = new rssItem[10];
 
les élément du tableau ne sont pas initialisés avec ca :pfff:

Reply

Marsh Posté le 21-09-2004 à 15:55:56    

HappyHarry a écrit :

rssItem[] items = new rssItem[10];
 
les élément du tableau ne sont pas initialisés avec ca :pfff:


 
je sais, mais t'as vu l'heure du 1er post :o ?

Reply

Marsh Posté le 21-09-2004 à 16:00:12    

freds45 a écrit :

je sais, mais t'as vu l'heure du 1er post :o ?


 
[:spamafote]

Reply

Marsh Posté le 21-09-2004 à 16:00:12   

Reply

Marsh Posté le 21-09-2004 à 16:29:26    

Citation :

Code :
  1. for(int i=0;i<_items.Count;i++)
  2.        {
  3.           rssItem fitem = (rssItem)_items.getElementAt(i);




 
 
m'enfin !
 

Code :
  1. foreach(rssItem fitem in _items)
  2. {
  3. ...
  4. }


 
:o


---------------
NP: HTTP Error 764 Stupid coder found
Reply

Marsh Posté le 21-09-2004 à 18:01:16    

Amen

Reply

Marsh Posté le 21-09-2004 à 19:59:38    

chrisbk a écrit :

Citation :

Code :
  1. for(int i=0;i<_items.Count;i++)
  2.        {
  3.           rssItem fitem = (rssItem)_items.getElementAt(i);




 
 
m'enfin !
 

Code :
  1. foreach(rssItem fitem in _items)
  2. {
  3. ...
  4. }


 
:o


 
oui javoue je suis coupable mais en meme temp c'etais pas le sujet :o jlui est juste porposé une idée pour gerer sont truc  :kaola:

Reply

Marsh Posté le 21-09-2004 à 20:48:17    

Le principal c'est que ca marche avec la solution de neogally :wahoo:


---------------
Filmstory : gardez trace des films que vous avez vu ! :D
Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed