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 :

Comparaison de Type d'un string


Sujet :

C#

  1. #1
    Membre habitué Avatar de lasrevinu
    Inscrit en
    Février 2010
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 215
    Points : 134
    Points
    134
    Par défaut Comparaison de Type d'un string
    bonjour,
    je voudrais récupérer le type d'un string et faire une comparaison,
    mais j'ai une erreur
    voici mon code:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
     
    //String Mystring = "1234";
     string Mystring = "blabla";
     
    Type type = MyString.GetType();
                if (type == System.String)
                {
    //instructions
                }
     
                if (type == System.Int32)
                {
    //instructions
                }
    voici l'erreur:

    String is a type which is not valid in the current context
    //int is a type which is not valid in the current context
    quelqu'un aurait t-il une idée
    merci

  2. #2
    Expert éminent
    Avatar de StormimOn
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Mai 2005
    Messages
    2 593
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France, Sarthe (Pays de la Loire)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Mai 2005
    Messages : 2 593
    Points : 7 660
    Points
    7 660
    Par défaut
    Le type d'une string sera toujours String, question de logique. Ce que tu veux faire n'est pas possible, sauf en essayant de convertir la chaîne en entier, date, ... et lorsque la conversion fonctionne alors tu sais à quoi tu as à faire.

    Sinon pour l'erreur, il faudrait utiliser les mots clé typeof et is pour réaliser la condition.

  3. #3
    Membre habitué Avatar de lasrevinu
    Inscrit en
    Février 2010
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 215
    Points : 134
    Points
    134
    Par défaut
    merci bcp pour ta reponse,
    ..j'ai encore du mal à utiliser typeOf et getype
    Un exemple pratique serait le bienvenu,
    merci d'avance

  4. #4
    Membre habitué Avatar de lasrevinu
    Inscrit en
    Février 2010
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 215
    Points : 134
    Points
    134
    Par défaut
    Je viens de réaliser que ce que je veux faire est impossible,
    je repose ma question alors,

    j'ai crée une méthode qui prend en paramètre un string

    je voudrait savoir si les charactere qui composent le string sont des entiers ou pas.

    c'est pour ça que je tentais d'utiliser gettype et typeOf,
    voila mon code:

    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
    public string GetTableColumnCellValue(string filteringColumnValue)
            {
                DataSet ds = new DataSet();
               System.Type type = filteringColumnValue.GetType();
     
                if (type == typeof(Int32))
                {
                    ds = SendSqlRequest("SELECT columnName  FROM tableName WHERE filteringColumn = " + filteringColumnValue);
                }
     
                else
                {
                    ds = SendSqlRequest("SELECT  columnName  FROM tableName  WHERE  filteringColumn  = " + "'" + filteringColumnValue + "'");
                }
                string result = ds.Tables[0].Rows[0][0].ToString();
                return result;
            }
    merci d'avance

  5. #5
    Membre émérite Avatar de meziantou
    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Avril 2010
    Messages
    1 223
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 33
    Localisation : Canada

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Avril 2010
    Messages : 1 223
    Points : 2 439
    Points
    2 439
    Par défaut
    je voudrait savoir si les charactere qui composent le string sont des entiers ou pas.
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
     
    string s = "42";
    int a;
    if(int.TryParse(s, out a))
    {
    }

  6. #6
    Membre actif Avatar de AJemni
    Homme Profil pro
    Développeur .NET
    Inscrit en
    Mai 2008
    Messages
    242
    Détails du profil
    Informations personnelles :
    Sexe : Homme

    Informations professionnelles :
    Activité : Développeur .NET
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Mai 2008
    Messages : 242
    Points : 290
    Points
    290
    Par défaut
    Salut,
    j'ai pas bien saisi ton souci mais, est ce que ta requête SQL concerne une seul table...
    peut tu nous montrer la vrai requête?

  7. #7
    Membre habitué Avatar de lasrevinu
    Inscrit en
    Février 2010
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 215
    Points : 134
    Points
    134
    Par défaut Resultat
    Merci bcp pour vos reponse,

    Meziantou a repondu à ma question,

    voici le code finale:

    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
    public string GetTableColumnCellValue(string filteringColumnValue)
            {
                DataSet ds = new DataSet();
    int a;
    if(int.TryParse(filteringColumnValue, out a))
    {
                    ds = SendSqlRequest("SELECT columnName  FROM tableName WHERE filteringColumn = " + filteringColumnValue);
                }
                else
                {
                    ds = SendSqlRequest("SELECT  columnName  FROM tableName  WHERE  filteringColumn  = " + "'" + filteringColumnValue + "'");
                }
                string result = ds.Tables[0].Rows[0][0].ToString();
                return result;
            }
    sinon
    Ajemmi, ma requete concerne une seule table a la fois,
    je specifie son nom comme parametre dans ma methode,
    Pourquoi?

    voila
    merci encore!

  8. #8
    Max
    Max est déconnecté
    Expert éminent sénior

    Avatar de Max
    Homme Profil pro
    Artisan développeur
    Inscrit en
    Mai 2007
    Messages
    2 954
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Pyrénées Atlantiques (Aquitaine)

    Informations professionnelles :
    Activité : Artisan développeur
    Secteur : Industrie

    Informations forums :
    Inscription : Mai 2007
    Messages : 2 954
    Points : 14 933
    Points
    14 933
    Par défaut
    Salut !

    Juste un petit conseil au passage :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    SendSqlRequest("SELECT  columnName  FROM tableName  WHERE  filteringColumn  = " + "'" + filteringColumnValue + "'");
    Si tu as le temps, essaye plutôt d'utiliser les requêtes paramétrées

  9. #9
    Membre habitué

    Homme Profil pro
    Consultant informatique
    Inscrit en
    Août 2008
    Messages
    76
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Consultant informatique
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Août 2008
    Messages : 76
    Points : 145
    Points
    145
    Par défaut
    Juste un conseil, pense à mettre le tag Resolu sur ta question. Pour mémoire voici un lien vers qui t'explique comment faire :
    http://club.developpez.com/regles/#L4.12

  10. #10
    Membre habitué Avatar de lasrevinu
    Inscrit en
    Février 2010
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 215
    Points : 134
    Points
    134
    Par défaut
    Je ne connaissais pas les requetes parametrées,
    le lien est super merci!

  11. #11
    Membre habitué Avatar de lasrevinu
    Inscrit en
    Février 2010
    Messages
    215
    Détails du profil
    Informations forums :
    Inscription : Février 2010
    Messages : 215
    Points : 134
    Points
    134
    Par défaut
    Je met en resolu, pas de probleme

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

Discussions similaires

  1. Comparaison d'une liste de string à un string
    Par maxazac dans le forum VB 6 et antérieur
    Réponses: 3
    Dernier message: 19/10/2005, 15h39
  2. Erreur de conversion de type Null en String
    Par navis84 dans le forum Bases de données
    Réponses: 3
    Dernier message: 26/07/2005, 15h25
  3. [info] passer d'un type primitif a String
    Par soad dans le forum Langage
    Réponses: 3
    Dernier message: 08/05/2005, 13h19
  4. [DEBUTANT]comparaison une ligne avec un STRing
    Par Battosaiii dans le forum Langage
    Réponses: 2
    Dernier message: 05/05/2005, 20h15
  5. [LG]Convertir le type double en string
    Par @tom@ dans le forum Langage
    Réponses: 8
    Dernier message: 18/01/2004, 19h20

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