IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

[C#]Comment convertir un System.object en string ?


Sujet :

C#

  1. #1
    Membre confirmé Avatar de hamster
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 137
    Par défaut [C#]Comment convertir un System.object en string ?
    Bonjour,

    je cherche à convertir un System.object contenant un tableau de Byte en une chaine de caractère.
    Par exemple, mon array contient
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    [0]
    [0]
    [0]
    [0]
    [0]
    [0]
    [0]
    [188]
    Et j'aimerais récupérer un string contenantJ'ai fouillé dans la FAQ, effectué une recherche sur le forum, consulté MSDN, essayé des tas de méthodes de System.Convert, mais je n'ai rien trouvé

    Pouvez vous m'aider ?

    Merci

  2. #2
    Rédacteur
    Avatar de abelman
    Inscrit en
    Février 2003
    Messages
    1 106
    Détails du profil
    Informations forums :
    Inscription : Février 2003
    Messages : 1 106
    Par défaut
    Bonjour,

    Ton System Object sera t il toujours un tableau d'entier?

  3. #3
    Membre expérimenté Avatar de toniolol
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2005
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 281
    Par défaut
    Salut,
    ne peut tu pas parcourir ton tableau et utiliser la fonction Chr ?

    Par contre je n'ai pas compris où passent tes 0 ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    dim tonResult as String
    For i as interger = 0 to tonTab.Lengh - 1
       tonResult &= Chr(tonTab(i))
    Next i
    Je n'ai pas testé...
    Par contre si ça fonctionne je crois qu'il vaut mieux utiliser un StringBuilder qu'un string avec &=

  4. #4
    Membre confirmé Avatar de hamster
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 137
    Par défaut
    Citation Envoyé par abelman
    Bonjour,

    Ton System Object sera t il toujours un tableau d'entier?
    Réponse : oui
    Citation Envoyé par toniolol
    Par contre je n'ai pas compris où passent tes 0 ?
    Pouf pouf ils disparaissent. Mais c'est un détail. Si au final j'arrive à obtenir une chaine 0000000188 ça me suffit.
    Par contre, l'exemple que tu m'as donné est en VB, pas en C#
    Est-ce que la méthode Chr existe aussi en C# ?

  5. #5
    Membre expérimenté Avatar de toniolol
    Homme Profil pro
    Chef de projet en SSII
    Inscrit en
    Juin 2005
    Messages
    281
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 47
    Localisation : France, Gard (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Chef de projet en SSII
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 281
    Par défaut
    Citation Envoyé par hamster
    Est-ce que la méthode Chr existe aussi en C# ?
    Citation Envoyé par MSDN
    Espace de noms : Microsoft.VisualBasic

  6. #6
    Membre confirmé Avatar de hamster
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 137
    Par défaut


    J'ai écrit une petite méthode
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    protected string IdToString(object vntId)
    	{
    	        try
    		{
    			string strResult = "";
    			short i = 0;
    			object[] objId = (object[]) vntId;
    			while (System.Convert.ToInt32(objId[i]) == 0)
    			{
    				i++;	
    			}
    			for (int j = i ; j<8 ; j++)
    			{
    				strResult += (System.Convert.ToString(objId[j]));
    			}
    
    			return strResult;
    		}
    		catch (Exception e)
    		{
    			throw new PivotalApplicationException(e.Message, e, m_rdaSystem);
    		}
    
    	}
    Mais je n'arrive pas à convertir mon object vntId en object[]

  7. #7
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    Citation Envoyé par hamster

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    protected string IdToString(Array vntId)
        {
                try
            {
                string strResult = "";
                short i = 0;
                object[] objId = (object[]) vntId;
                while (System.Convert.ToInt32(objId[i]) == 0)
                {
                    i++;    
                }
                for (int j = i ; j<8 ; j++)
                {
                    strResult += (System.Convert.ToString(objId[j]));
                }
    
                return strResult;
            }
            catch (Exception e)
            {
                throw new PivotalApplicationException(e.Message, e, m_rdaSystem);
            }
    
        }
    il faut que tu passes un Array en argument à ta fonction.

    Tout les tableau ont comme classe de base la classe Array

  8. #8
    Membre confirmé Avatar de hamster
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 137
    Par défaut
    Mon problème devient alors :

    Comment passer d'un type object à un type System.Array ?

  9. #9
    Rédacteur
    Avatar de dev01
    Profil pro
    Inscrit en
    Mai 2004
    Messages
    2 451
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Mai 2004
    Messages : 2 451
    Par défaut
    ben tu cast à l'appel.

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    public void UneMethode()
    {
       IdToString((Array)obj);  
    }
    ce que le compilateur ne veux pas c'est un cast directement en tableau d'un type. La cast un objet en un autre objet

  10. #10
    Membre confirmé Avatar de hamster
    Profil pro
    Inscrit en
    Octobre 2003
    Messages
    137
    Détails du profil
    Informations personnelles :
    Âge : 41
    Localisation : France, Rhône (Rhône Alpes)

    Informations forums :
    Inscription : Octobre 2003
    Messages : 137
    Par défaut
    Merci beaucoup, ça marche très bien !!

    (PS : finalement j'ai réussi à contourner le problème autrement, mais j'aurai au moins appris quelque chose)



    hop résolu

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. comment convertir un objet URL en String ?
    Par _LittleFlea_ dans le forum Langage
    Réponses: 3
    Dernier message: 19/10/2009, 16h16
  2. Comment convertir du XML dans un String -> DataSet
    Par jimbolelephan dans le forum C#
    Réponses: 2
    Dernier message: 12/06/2008, 15h28
  3. Réponses: 10
    Dernier message: 04/05/2006, 23h55
  4. Comment convertir de l'hexadecimale au string ASCII ?
    Par Battosaiii dans le forum Algorithmes et structures de données
    Réponses: 1
    Dernier message: 17/03/2006, 19h04
  5. Réponses: 12
    Dernier message: 31/01/2006, 21h46

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo