Partage
  • Partager sur Facebook
  • Partager sur Twitter

[C#] + [VB.net] CStr et IIf équivalent

Sujet résolu
    2 janvier 2008 à 13:33:58

    Salut à tous,

    Je dois transformer une application en VB.net pour qu'elle soit en C# (pas très utile vu qu'il y a le framework, je sais...)

    Etant plutôt axé sur le C# en tombant sur la ligne suivante, je n'ai pas réussi à comprendre ce qu'elle fait.

    1. CStr(IIf(path.StartsWith("/"), "", "/")) & path


    Auriez-vous donc une idée de ce que ca peut donner en C#?

    Merci beaucoup !

    Thanatoster
    • Partager sur Facebook
    • Partager sur Twitter
      2 janvier 2008 à 21:41:11

      Bonsoir, je traduirais cela par :

      1. Convert.ToString((path.StartsWith("/") ? "" : "/") )) + path ;


      Plus efficacement (afin d'éviter les instanciation inutiles et parce que concaténer, c est mal :p

      1. string.Format("{0}{1}",(strPath.StartsWith("/") ? string.Empty : "/"), strPath);
      • Partager sur Facebook
      • Partager sur Twitter
        2 janvier 2008 à 22:15:26

        Ca marche au poil ! Merci beaucoup !
        • Partager sur Facebook
        • Partager sur Twitter
        Anonyme
          3 janvier 2008 à 2:55:53

          Citation : Tetram

          Plus efficacement (afin d'éviter les instanciation inutiles et parce que concaténer, c est mal) :p



          Salut,

          attention aux idées recues, concatener est ici la solution la plus performante. D'une maniere generale, pour un assemblage de string en une seule fois il faut utiliser la concatenation (+ est equivalent à .Concat(...) qui utilise en interne une methode d'allocation propre), c'est tres vrai jusqu'à 4 strings (au dessus un peu moins, il y a instanciation d'un tableau de string supplementaire).

          Format est souvent la pire des solutions (il instancie un stringbuilder en interne) dans les additions de strings simples.

          Par contre, la ou il n'est pas permis (sous peine de bucher !) de concatener, c'est le cas :

          1. for(int i = 0; i < gros_Chiffre; i++)
          2.     str += une_Autre_Str


          Bref, construction en une fois (ou peu), tu concatenes, construction bouclée ou en un grand nombre d'operations, tu stringbuildes.

          NB : Ceci s'applique au Fx Microsoft. Ca peut etre different sur Mono.

          NB2 : Bien sur ce sont des considerations de l'ordre de la centaine de ticks (quoique), mais c'est pour l'idée generale. =)
          • Partager sur Facebook
          • Partager sur Twitter
            3 janvier 2008 à 6:54:00

            Autant pour moi !

            Merci pour le renseignement !
            • Partager sur Facebook
            • Partager sur Twitter

            [C#] + [VB.net] CStr et IIf équivalent

            × Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
            × Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
            • Editeur
            • Markdown