Announcement

Collapse
No announcement yet.

Kleine Frage zu Typenkürzel

Collapse
X
  • Filter
  • Time
  • Show
Clear All
new posts

  • Kleine Frage zu Typenkürzel

    Hi zusammen!

    Ich fange gerade in einem Betrieb neu an, und muss dafür VB.NET lernen.
    Hier ist es so, dass die Typenkürzel von Datentypen (also $ für String etc.) zur Deklaration verwendet werden. In ihrer Programmierkonvention steht drin, dass man den vollen Namen einer Variablen nutzen soll. Heißt:

    Bsp:
    [highlight=vbnet]
    'Deklaration:

    Dim string$

    ' ...

    'Zuweisung
    string$ = "...."

    ' Anstatt

    string = "..."

    [/highlight]

    Jetzt meine Frage. Wenn das Typenkürzel (hier ja $), das ja eigentlich nur eine Abkürzung für "as String" steht, immer wieder dazugefügt wird (string = "...." wäre ja genauso möglich), ist das dann nicht ein Performanz-Loch oder wird das vom Compiler rausgefiltert?
    Zuletzt editiert von Makkus; 20.02.2009, 12:56.

  • #2
    Hallo und willkommen,

    ich habe keine Ahnung von VB.NET und wenig von den NET-Interna. Aber nach meinen Kenntnissen bin ich mir sicher, dass es nach dem Compilieren keine Probleme damit gibt: Von jeder NET-Sprache aus wird MSIL-Code (MS Intermediate Language) erzeugt. Dieser "Zwischencode" weiß nichts mehr von Eigenheiten von VB, C#, Prism (Delphi/Chrome) und was sonst noch denkbar ist.

    Also musst Du Dich an so etwas gewöhnen, und damit hat es sich.

    Ich empfehle aber auch einen Blick auf NET: Richtlinien für Namen.

    Gruß Jürgen

    Comment


    • #3
      aus

      Code:
              Dim meinString$
              meinString$ = "mein String"
              meinString = "mein String nochmal"
      wird

      Code:
          .custom instance void [mscorlib]System.STAThreadAttribute::.ctor()
          .entrypoint
          .maxstack 1
          .locals init (
              [0] string meinString)
          L_0000: nop 
          L_0001: ldstr "mein String"
          L_0006: stloc.0 
          L_0007: ldstr "mein String nochmal"
          L_000c: stloc.0 
          L_000d: nop 
          L_000e: ret

      im IL ist also nicht mehr unterscheidbar ob $ verwendet wurde oder nicht.

      Comment


      • #4
        Ich empfehle aber auch einen Blick auf NET: Richtlinien für Namen.
        Klar weicht das vom NET-Styleguide ab, aber das sind eben die Richtlinien von diesem Betrieb hier...

        Aber danke für eure Antworten...

        Comment

        Working...
        X