Wofür steht DIM in Visual Basic?
Wofür steht DIM in Visual Basic?
Antworten:
Dim stand ursprünglich (in BASIC) für Dimension, da es zum Definieren der Dimensionen eines Arrays verwendet wurde.
(Die ursprüngliche Implementierung von BASIC war Dartmouth BASIC, das von FORTRAN abstammt, wo DIMENSION geschrieben ist.)
Heutzutage wird Dim verwendet, um jede Variable zu definieren, nicht nur Arrays, daher ist ihre Bedeutung nicht mehr intuitiv.
Dim
wurden unterschiedliche Bedeutungen zugeschrieben.
Ich habe Referenzen zur Dim
Bedeutung von "Im Speicher deklarieren" gefunden . Die relevantere Referenz ist ein Dokument über Dim Statement, das Oracle als Teil der Siebel VB-Sprachreferenz veröffentlicht hat. Natürlich können Sie argumentieren, wenn Sie die Variablen im Speicher nicht deklarieren, wo machen Sie das? Vielleicht ist "In Modul deklarieren" eine gute Alternative, wenn man bedenkt, wie Dim
es verwendet wird.
Meiner Meinung nach ist "Declare In Memory" eigentlich eine Mnemonik , die erstellt wurde, um das Erlernen der Verwendung zu erleichtern Dim
. Ich sehe "Im Gedächtnis deklarieren" als eine bessere Bedeutung, da es beschreibt, was es in aktuellen Versionen der Sprache tut, aber es ist nicht die richtige Bedeutung.
Tatsächlich wurde Basic Dim
zu Beginn nur zum Deklarieren von Arrays verwendet. Für reguläre Variablen wurde kein Schlüsselwort verwendet, stattdessen wurde ihr Typ aus ihrem Namen abgeleitet. Wenn beispielsweise der Name der Variablen mit endet, handelt $
es sich um eine Zeichenfolge (dies ist beispielsweise auch bei Methodennamen bis VB6 zu sehen Mid$
). Und so, verwendete man Dim
nur geben Dimension zu dem Arrays (Hinweis , dass ReDim
Arrays ändert die Größe).
Wirklich, ist es wichtig ? Ich meine, es ist ein Schlüsselwort, das seine Bedeutung in einer künstlichen Sprache hat. Es muss kein Wort in Englisch oder einer anderen natürlichen Sprache sein. Es könnte also bedeuten, was immer Sie wollen. Alles, was zählt, ist, dass es funktioniert.
Jedenfalls ist das nicht ganz richtig. Da BASIC Teil unserer Kultur ist und das Verständnis, warum es so geworden ist, wie es ist - ich hoffe - wird dazu beitragen, unsere Vision von der Welt zu verbessern.
Ich sitze von meinem Computer aus mit dem Wunsch, dieses kleine Stück unserer Kultur zu bewahren, das verloren zu sein scheint, ersetzt durch unsere Vermutung, was es war. Und so habe ich MSDN sowohl aktuelle als auch die alten CDs aus der Version von 1998 ausgegraben. Ich habe auch die Dokumentation nach dem alten QBasic [musste DOSBox verwenden] durchsucht und es geschafft, ein Darthmouth-Handbuch zu bekommen, um herauszufinden, wie sie darüber sprechen Dim
. Zu meiner Enttäuschung sagen sie nicht, wofür es Dim
steht, sondern nur, wie es verwendet wird.
Aber bevor meine Hoffnung schwächer wurde, habe ich es geschafft, diesen BBC Microcomputer System Used Guide zu finden (der angeblich aus dem Jahr 1984 stammt und an dem ich nicht zweifeln möchte). Der BBC-Mikrocomputer verwendete eine Variante von BASIC namens BBC BASIC und ist im Dokument beschrieben. Auch wenn nicht gesagt wird, wofür es Dim
steht, heißt es (auf Seite 104):
... Sie können N $ dimensionieren, um so viele Einträge zu haben, wie Sie möchten. Zum Beispiel würde DIM N $ (1000) ein String-Array mit Platz für 1000 verschiedene Namen erstellen.
Wie gesagt, es heißt nicht, dass dies Dim
für Dimension steht, sondern dient als Beweis dafür, dass das Assoziieren Dim
mit Dimension
zum Zeitpunkt des Schreibens dieses Dokuments üblich war.
Jetzt habe ich später eine lohnende Überraschung erhalten (auf Seite 208). Der Titel des Abschnitts, der das DIM-Schlüsselwort beschreibt (Hinweis: das ist nicht im Inhalt aufgeführt) lautet:
DIM-Dimension eines Arrays
Ich habe also nicht das Zitat "Dim steht für ..." erhalten, aber ich denke, es ist klar, dass jeder anständige Mensch, der dieses Dokument lesen kann, dies als Dim
Dimension betrachtet.
Mit neuer Hoffnung beschloss ich zu suchen, wie Dim
ausgewählt wurde. Auch hier habe ich keinen Bericht zu diesem Thema gefunden, dennoch konnte ich ein endgültiges Zitat finden:
Bevor Sie ein Array verwenden können, müssen Sie es in einer DIM-Anweisung (Dimension) definieren.
Sie finden dies als Teil der True BASIC Online-Benutzerhandbücher auf der Webseite von True BASIC Inc., einem Unternehmen, das von Thomas Eugene Kurtz , Co-Autor von BASIC, gegründet wurde.
Also, in Wirklichkeit Dim
ist eine Abkürzung für DIMENSION
und ja. Das gab es schon in FORTRAN, daher ist es wahrscheinlich, dass es durch den Einfluss von FORTRAN ausgewählt wurde, wie Patrick McDonald in seiner Antwort sagte .
Dim sum as string = "this is not a chinese meal" REM example usage in VB.NET ;)
Dim
eigentlich steht
Es ist die Abkürzung für Dimension, da es ursprünglich in BASIC verwendet wurde, um die Größe von Arrays anzugeben.
DIM - (kurz für Dimension) definiert die Größe von Arrays
Ref: http://en.wikipedia.org/wiki/Dartmouth_BASIC
Ein Teil des ursprünglichen BASIC-Compiler-Quellcodes, in dem beim Auffinden eines DIM
Befehls gesprungen wird , in dem Sie die ursprüngliche Absicht für das Schlüsselwort deutlich erkennen können:
DIM LDA XR01 BACK OFF OBJECT POINTER
SUB N3
STA RX01
LDA L 2 GET VARIABLE TO BE DIMENSIONED
STA 3
LDA S 3
CAB N36 CHECK FOR $ ARRAY
BRU *+7 NOT $
...
Ref: http://dtss.dartmouth.edu/scans/BASIC/BASIC%20Compiler.pdf
Später wurde es verwendet, um alle Arten von Variablen zu deklarieren, als in neueren Implementierungen die Möglichkeit hinzugefügt wurde, den Typ für Variablen anzugeben.
Es steht für Dimension, wird aber im Allgemeinen als "Variable erstellen" oder "Platz dafür zuweisen" gelesen.
Variable Aussage. Anfangs war es die Abkürzung für "Dimension", ein Begriff, der in der Programmierung (außerhalb dieses spezifischen Schlüsselworts) nicht in nennenswertem Umfang verwendet wird.
http://in.answers.yahoo.com/question/index?qid=20090310095555AANmiAZ
Früher hat DIM Speicher für das Array reserviert, und als der Speicher begrenzt war, musste man vorsichtig sein, wie man ihn verwendet. Ich habe einmal (1981) ein BASIC-Programm auf TRS-80 Model III mit 48 KB RAM geschrieben. Es würde nicht auf einem ähnlichen Computer mit 16 KB RAM ausgeführt, bis ich die Arraygröße durch Ändern der DIM-Anweisung verringert habe
Das Dim-Schlüsselwort ist optional, wenn wir es mit den Modifikatoren Public, Protected, Friend, Protected Friend, Private, Shared, Shadows, Static, ReadOnly usw. verwenden. Static nTotal As Integer
Für den Referenztyp müssen wir ein neues Schlüsselwort verwenden, um die neue Instanz der Klasse oder Struktur zu erstellen. zB Dim lblTop As New System.Windows.Forms.Label
.
Die Dim-Anweisung kann ohne Datentyp verwendet werden, wenn Sie Option Infer auf On setzen . In diesem Fall leitet der Compiler den Datentyp einer Variablen vom Typ ihres Initialisierungsausdrucks ab. Beispiel:
Option Infer On
Module SampleMod
Sub Main()
Dim nExpVar = 5
Die obige Aussage ist äquivalent zu- Dim nExpVar As Integer