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 :

Conversion du VB.net au C#.Net


Sujet :

C#

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre très actif
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2011
    Messages
    457
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2011
    Messages : 457
    Par défaut Conversion du VB.net au C#.Net
    salut toute le monde
    comment je peux convertir cette instruction du VB.Net au C# ?

    Code vb : Sélectionner tout - Visualiser dans une fenêtre à part
    byteOut(i + 5) = Asc(Mid("Stop", i, 1));
    c'est quoi Asc ? Mid ?

  2. #2
    Expert éminent Avatar de Pol63
    Homme Profil pro
    .NET / SQL SERVER
    Inscrit en
    Avril 2007
    Messages
    14 197
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Puy de Dôme (Auvergne)

    Informations professionnelles :
    Activité : .NET / SQL SERVER

    Informations forums :
    Inscription : Avril 2007
    Messages : 14 197
    Par défaut
    il y a des convertisseurs vb.net c# sur le net
    dont celui là : http://www.developerfusion.com/tools.../csharp-to-vb/

    néanmoins ils ne vont peut être pas aimer asc et mid qui sont des héritages de vb6

    asc retourne le numéro ascii d'un caractère, l'équivalent doit se trouver sur les system.text.encoding.Ascii

    mid retourne la sous chaine contenu à partir d'un nombre de caractères sur x caractères
    tu peux utiliser string.substring pour avoir le même effet


    m'enfin je pense que le code que tu as parcours une chaine pour obtenir les octets ascii de chaque caractère, donc il y a ce qu'il faut dans le framework pour faire ca en une ligne via encoding.Ascii
    Cours complets, tutos et autres FAQ ici : C# - VB.NET

  3. #3
    Membre Expert Avatar de Er3van
    Homme Profil pro
    Architecte Logiciel
    Inscrit en
    Avril 2008
    Messages
    1 430
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Activité : Architecte Logiciel
    Secteur : Industrie

    Informations forums :
    Inscription : Avril 2008
    Messages : 1 430
    Par défaut
    Tu auras quelque chose de ce goût là :

    Code c# : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
     
    String sFoo = "STOP" ;
    for (int i = 0; i < ... ; i++) {
    byteOut[i+5] = ASCIIEncoding.ASCII.GetBytes(sFoo.Substring(i,1));
    }

  4. #4
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par Pol63 Voir le message
    néanmoins ils ne vont peut être pas aimer asc et mid qui sont des héritages de vb6
    Il convertit ça en Strings.Asc et Strings.Mid

    Sinon, en convertissant manuellement ça donne ça :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    byteOut[i + 5] = (char)("Stop"[i]);
    Mais de toutes façons, si le but est de convertir une chaine en tableau de caractères, il vaut mieux utiliser la classe Encoding

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    byte[] stopBytes = Encoding.ASCII.GetBytes("Stop");
    Et copier ensuite dans le tableau de destination avec Array.Copy :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    Array.Copy(stopBytes, 0, byteOut, 5, stopBytes.Length);

  5. #5
    Membre très actif
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2011
    Messages
    457
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2011
    Messages : 457
    Par défaut
    Merci pour toute
    la solution final et correcte est
    C# Code
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
     byteout[i + 5] = (byte)(ASCIIEncoding.ASCII.GetBytes(Back.Substring(i - 1, 1))[0]);

  6. #6
    Rédacteur/Modérateur


    Homme Profil pro
    Développeur .NET
    Inscrit en
    Février 2004
    Messages
    19 875
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Paris (Île de France)

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

    Informations forums :
    Inscription : Février 2004
    Messages : 19 875
    Par défaut
    Citation Envoyé par genius4evers Voir le message
    la solution final et correcte est
    C'est une solution, mais sûrement pas la meilleure... je suppose que ce code est dans une boucle ? C'est pas très optimisé de refaire à chaque fois l'appel à GetBytes...

  7. #7
    Membre très actif
    Homme Profil pro
    Chef de projet MOA
    Inscrit en
    Janvier 2011
    Messages
    457
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Chef de projet MOA
    Secteur : Finance

    Informations forums :
    Inscription : Janvier 2011
    Messages : 457
    Par défaut
    Salut
    oui le code est dans une boucle for,
    qu'elle est la solution optimise?

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

Discussions similaires

  1. Réponses: 0
    Dernier message: 29/10/2009, 16h22
  2. Réponses: 6
    Dernier message: 04/11/2008, 09h51
  3. Conversion de pages PERL en ASP.NET
    Par appwnet dans le forum Modules
    Réponses: 4
    Dernier message: 14/02/2006, 01h28
  4. [VB.net]problème de conversion de code c# vers VB.net
    Par cladsam dans le forum Windows Forms
    Réponses: 2
    Dernier message: 18/10/2005, 14h07
  5. conversion de projet VC++ 6.0 => .net
    Par abignon dans le forum MFC
    Réponses: 4
    Dernier message: 21/09/2005, 11h38

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