Comparer int et string en C#

Fermé
nono - 14 févr. 2002 à 18:13
 toto1 - 22 avril 2010 à 09:55
Mon souhait est de trouver une fonction equivalente a NaN en javascript.
c-a-d savoir si une variable est bien numerique ou pas?
Merci nono.

3 réponses

en C#, tu testes directement la valeur sur le type en tentant de la convertir. exemple, si tu veux savoir si une chaine est de type int tu écris

...
string sMaChaine //ma chaine à convertir
int iRes; //resultat apres conversion
bool bRes = Int32.TryParse(sMaChaine,out iRes);
if (!bRes) //la chaine n'est pas un int
{
sMaChaine = "NaN";

}
else //sMaChaine est un Int donc iRes contient le résultat de la conversion
{
//j'affiche mon résultat dans une messageBox
MessageBox.Show(string.Format("Mon Resultat est {0}", iRes));
}
...

voilà
1
D apres mes connaissance il n y apas de fonctio qui fais ce travaille la(savoir est ce qu une variable est de type char ou int).normalement en C le type char est codé sur 8 bits et le type int sur 16 bit n est ce pas alors si tu fais appelle a la fonction
sizeof(nomVar) elle doit de renvoyer la taille qu occupe cette variable dans la memoire.et comme ça tu peux faire la difference entre char et int "je ne dis pas que c est la meillere idée mais elle reste une idée comme meme "
0
tafiscobar Messages postés 1277 Date d'inscription jeudi 7 décembre 2000 Statut Contributeur Dernière intervention 26 février 2009 177
15 févr. 2002 à 11:18
en C++ l'operateur typeid(expression) te donne un objet de type type_info qui decrit le type de l'expression. Tu dois au prealable introduire le fichier d'entete <type_info>, voici la classe type_info, elle t'en dira plus par les noms des fonctions :

class type_info
{
public:
virtual ~type_info();
bool operator ==(const type_info &rhs) const;
bool operator != (const type_info & rhs) const;
bool before (const type_info &rhs) const;
char* name() const ;
private:
type_info(const type_info & rhs);
type_info & operator=(cont type_info &rhs);
};

voila,effectivement, avec sizeof, tu peux verifier si ton objet est du type de cette classe ou d'1 quelconq type standard.
tafiscobar
0