cs_jimmy69
Messages postés778Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention27 novembre 2008
-
27 oct. 2007 à 23:09
cs_jimmy69
Messages postés778Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention27 novembre 2008
-
1 nov. 2007 à 16:07
Bonjour,
J'ai un petit souci que je n'arrive pas a regler en net 1.1 !
J'ai une class Hand dans lequel on retrouve un arraylist m_cards que je remplis avec des enumerations.
je boucle via un for sur la longueur de mon arrayList.count et j'essayes de caster mon type hand en autre objet card comme ceci
Bon ca plante sur la converstion en me disant invalid cast exception !?
Ouais ca ne me dit pas grand chose hormis qu'il y'a un probleme de casting pourtant ce n'est pas la premiere fois que je fais du casting et je n'ai jamais rencontre de probleme !
Auriez vous une idée de ce que je dois checker ou ma facon de caster est mauvaise ?
cs_coq
Messages postés6349Date d'inscriptionsamedi 1 juin 2002StatutMembreDernière intervention 2 août 2014101 28 oct. 2007 à 10:00
Tu aurais dû nous donner le message d'erreur, qui doit clairement te dire que la conversion de Card[] en Card ne peut être effectué.
public Hand(Card[] cards)
{
m_Cards.Add(cards); }
Je suppose que tu voulais plutôt utiliser la méthode AddRange ici.
Sinon tu aurais probablement intérêt à développer une classe de collection fortement typée, ça rendrais le code un peu plus propre et maintenable, à défaut d'être en .NET 2.0 et de pouvoir utiliser les generics.
et une autre classe Hands auquel j'instancie mon objet card pour faire quelques tests sur le code que j'ai deja fait :-) !
J'instancie donc deux objets card avec des constructeurs differents.
J'ajoute les cartes a l'array list et ensuite j'essayes de faire une methode contains qui verifie si cette carte existe ou pas !
Et dans cette methode j'ai une boucle for sur l'array list
for( int i = 0; i< m_Cards.Count; i++ )
{
//plante sur cette ligne
aCard = (Card)m_Cards[i];
je transforme mon objet en objet card et c'est la que j'obtiens ce message d'erreur invalid cast execption !
Si tu as une idée merci pour tout !
using System;
using System.Collections;
namespace DeckOfCards
{
/// <summary>
/// Description résumée de Hand.
/// </summary>
public class Hand
{
private ArrayList m_Cards = new ArrayList();
//Test
public static void Main()
{
Card queenOfHeards = new Card(Suit.Hearts, FaceValue.Queen);
Card twoOfClub = new Card(Suit.Clubs, FaceValue.Two);
//Test addcard
Hand aHand = new Hand( new Card[] { queenOfHeards, twoOfClub} );
cs_jimmy69
Messages postés778Date d'inscriptiondimanche 22 décembre 2002StatutMembreDernière intervention27 novembre 20081 1 nov. 2007 à 16:07
salut coq,
merci c'etait exactement cela !
Je te remercie pour tes infos mais pour le moment j'essayes de bien saisir et comprendre la poo car des exercices que j'essayes de faire !