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 :

String ou string, Stream qui veut pas se mettre dans une variable


Sujet :

C#

  1. #1
    Membre confirmé Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Par défaut Stream lent
    Bonsoir,

    Je sais ma question peut sembler "bête" mais je me pose la question suivante :

    Quelle est la différence entre "String" ou "string"

    Vu que ce n'est qu'une majuscule qui change, mon ami google ma pas été d'une grande aide

    Merci d'avance et bonne nuit

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Par défaut
    string tout comme int, sont des alias vers System.String ou System.Int32 ( tu peux aller voir la doc msdn sur les mots clés)

    Donc c'est exactement la même chose.
    Il est d'usage d'utiliser l'alias

    Attention en java c'est diffèrent, string étant le type primitif, alors que String représente l'objet, mais en .Net tout est objet

    Tu auras aussi surement remarqué que String se comporte comme un Type Valeur et non comme un type référence, bien qu'il ne soit pas vraiment derivé de ValueType mais bon passons... finis le cours .Net

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 30
    Par défaut
    Citation Envoyé par alavoler Voir le message
    Attention en java c'est diffèrent, string étant le type primitif, alors que String représente l'objet, mais en .Net tout est objet
    string n'existe pas en Java, il n'y a que String.

    Et C# est pas plus "tout objet" que Java. Les deux ont les types primitifs int, char & co et pratiquent allègrement l'autoboxing pour convertir une valeur de type primitif dans une instance du type équivalent objet (ce qui permet d'écrire Int32 i = 1; ).

  4. #4
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut
    Cependant en C# les opération disponible pour les alias sont exactement les même que pour les types auquels ils sont associé. C'est donc, d'un point de vue développeur, exactement la même chose.
    En revanche en java les types primitifs et les classes "associées" sont bien différents.

  5. #5
    Membre confirmé Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Par défaut
    Tout d'abbord merci à tous d'avoir répondu.

    Donc si je comprend bien c'est mieu d'utiliser string.

    Ce qui est bisard est que visual studio marque la même chose en définition de ces deux termes :
    string : classe System.String
    String classe System.String

  6. #6
    Membre éclairé
    Profil pro
    Inscrit en
    Octobre 2007
    Messages
    1 002
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Octobre 2007
    Messages : 1 002
    Par défaut
    euh... désolé de te dire que t'as vraiment rien pigé... on a du mal s'exprimer...

    Qu est ce que t'as compris en fait de nos explications ?

  7. #7
    Membre confirmé Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Par défaut
    lool oui en ce moment j'ai un peu de mal.
    string tout comme int, sont des alias vers System.String ou System.Int32 ( tu peux aller voir la doc msdn sur les mots clés)
    ...
    Il est d'usage d'utiliser l'alias
    Donc il faut utiliser string si j'ai bien compris vu que c'est un alias à System.String ???

    Et en passant, un string ou un String a t-il une longueur maxi de caracteres ?

  8. #8
    Membre averti
    Profil pro
    Inscrit en
    Septembre 2004
    Messages
    30
    Détails du profil
    Informations personnelles :
    Localisation : Suisse

    Informations forums :
    Inscription : Septembre 2004
    Messages : 30
    Par défaut
    Citation Envoyé par Couz02 Voir le message
    Donc il faut utiliser string si j'ai bien compris vu que c'est un alias à System.String ???
    C'est égal. Personnellement j'utiliserais String vu que c'est une classe et pas un type primitif (les classes commencent par des majuscules). Mais si tu viens du C++ tu auras tendance à écrire string comme dans la stl.

    Citation Envoyé par Couz02 Voir le message
    Et en passant, un string ou un String a t-il une longueur maxi de caracteres ?
    Non (enfin, celle que ta mémoire permet).

  9. #9
    Membre confirmé Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Par défaut
    Citation Envoyé par cyberpi Voir le message
    Mais si tu viens du C++ tu auras tendance à écrire string comme dans la stl.
    Oui je viens du c++ donc voilà pourquoi.

    Citation Envoyé par cyberpi Voir le message
    Non (enfin, celle que ta mémoire permet).
    Je ne pense pas que le code source d'une page internet remplisse 2Gb...

  10. #10
    Membre confirmé Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Par défaut
    Pourquoi quand j'exécute ce code, ma variable "Code" est vide ?

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    Stream resin = HttpResponse.GetResponseStream();
    StreamReader FluxCode = new StreamReader(resin, Encoding.GetEncoding(850));
    string Code = FluxCode.ReadToEnd();
    Code = Code.Replace("\r\n", "\n").Replace("\n", "\r\n");
    En débug, Code = ""

  11. #11
    Membre confirmé
    Inscrit en
    Juin 2009
    Messages
    100
    Détails du profil
    Informations forums :
    Inscription : Juin 2009
    Messages : 100
    Par défaut
    Salut,

    Est-ce que code est vide après la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string Code = FluxCode.ReadToEnd();
    Si oui, c'est qu'il y a un soucis par rapport au Stream que tu récupère (ou bien il n'est pas récupéré correctement, ou bien il est vide).

  12. #12
    Membre confirmé Avatar de Couz02
    Profil pro
    Inscrit en
    Avril 2008
    Messages
    232
    Détails du profil
    Informations personnelles :
    Âge : 35
    Localisation : France

    Informations forums :
    Inscription : Avril 2008
    Messages : 232
    Par défaut
    Citation Envoyé par Bobbledople Voir le message
    Salut,

    Est-ce que code est vide après la ligne
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string Code = FluxCode.ReadToEnd();
    Si oui, c'est qu'il y a un soucis par rapport au Stream que tu récupère (ou bien il n'est pas récupéré correctement, ou bien il est vide).
    Je ne sais plus comment j'ai résolu ce problème

    Mais par contre je suis en phase d'optimisation avec ce bout de code justement :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    string Code = FluxCode.ReadToEnd();
    Il est assez long à exécuter car il passe tout le code source en revu et je ne vois pas comment être un peu plus rapide.

Discussions similaires

  1. Réponses: 9
    Dernier message: 11/06/2015, 12h06
  2. [JScrollPane] qui ne veut pas se mettre en haut a gauche
    Par Cyber@l dans le forum AWT/Swing
    Réponses: 4
    Dernier message: 24/11/2006, 11h41
  3. [RegEx] str_replace qui veut pas replacer
    Par lamoufle dans le forum Langage
    Réponses: 5
    Dernier message: 13/09/2005, 13h37
  4. ShellExecute qui veut pas faire son boulot...
    Par giloutho dans le forum API, COM et SDKs
    Réponses: 2
    Dernier message: 31/08/2005, 12h49
  5. java web start qui veut pas se lancer
    Par calvin dans le forum JWS
    Réponses: 4
    Dernier message: 30/06/2004, 12h42

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