Answers:
Dim最初(在BASIC中)代表Dimension,因为它用于定义数组的尺寸。
(BASIC的最初实现是Dartmouth BASIC,它是FORTRAN的后代,其中阐明了DIMENSION。)
如今,Dim用于定义任何变量,而不仅仅是数组,因此其含义已不再直观。
Dim
具有不同的含义。
我已经找到了有关Dim
含义“在内存中声明”的参考,更相关的参考是在Oracle 上发布的Dim Statement上的文档,该文档是Siebel VB语言参考的一部分。当然,您可能会争辩说,如果不在内存中声明变量,该怎么办?考虑到如何使用,也许“在模块中声明”是一个很好的选择Dim
。
在我看来,“在内存中声明”实际上是一个助记符,其创建目的是使它更易于学习使用Dim
。我认为“在内存中声明”是更好的含义,因为它描述了该语言在当前版本中的功能,但这不是正确的含义。
实际上,Basic的起源Dim
仅用于声明数组。对于常规变量,未使用任何关键字,而是从其名称推断出其类型。例如,如果变量的名称以结尾,$
则它是一个字符串(例如,甚至在VB6以下的方法名称中,您都可以看到它Mid$
)。因此,您Dim
仅用于为数组赋予尺寸(ReDim
调整数组大小的通知)。
真的,这很重要吗?我的意思是,它是一个关键字,在人工语言中具有其含义。它不必是英语或任何其他自然语言的单词。因此,这可能意味着您想要什么,而最重要的是它可以工作。
无论如何,那不是完全正确的。因为BASIC是我们文化的一部分,所以我希望了解它为什么如此成为现实,这将有助于改善我们对世界的看法。
我坐在计算机旁,渴望帮助保留似乎已消失的这一文化小片段,取而代之的是我们对它的猜测。因此,我从1998版本中挖掘了当前CD和旧CD中的MSDN。我还搜索了旧版QBasic [必须使用DOSBox]的文档,并设法获得了Darthmouth手册,所有这些都找到了他们的谈论方式Dim
。让我感到失望的是,他们没有说什么Dim
代表什么,而只是说它是如何使用的。
但是,在我的希望渺茫之前,我设法找到了《BBC微型计算机系统使用指南》(该指南声称是1984年的,我不想对此表示怀疑)。BBC微型计算机使用了BASIC的一种变体,称为BBC BASIC,在文档中对此进行了描述。即使,它没有说什么Dim
代表什么,而是说(第104页):
...您可以标注N $的大小,以具有所需的尽可能多的条目。例如,DIM N $(1000)将创建一个字符串数组,该字符串数组用于容纳1000个不同的名称。
正如我所说的,它并没有说Dim
代表了尺寸,但作为证据表明关联Dim
与Dimension
在编写文档时常见的事。
现在,稍后(在第208页),我得到了一个有意义的惊喜,描述DIM关键字的部分的标题(注意:未在目录中列出)说:
数组的DIM维
因此,我没有得到“ Dim代表...”的名言,但我想很明显,任何能够阅读这些文档的体面的人都会认为这Dim
意味着维度。
怀着新的希望,我决定搜索如何Dim
选择。同样,我没有找到关于该主题的信息,但仍然能够找到明确的报价:
在使用数组之前,必须在DIM(维度)语句中对其进行定义。
您可以在True BASIC inc的网页上找到《True BASIC在线用户指南》中的内容,该公司由BASIC的合著者Thomas Eugene Kurtz创建。
因此,实际上Dim
是的简写DIMENSION
,是的。那是以前在FORTRAN中存在的,因此很可能是如Patrick McDonald在回答中所说的那样,被FORTRAN的影响所选择的。
Dim sum as string = "this is not a chinese meal" REM example usage in VB.NET ;)
Dim
实际上是代表的意思
Dimension的缩写,因为它最初在BASIC中用于指定数组的大小。
DIM —(尺寸的缩写)定义数组的大小
参考:http : //en.wikipedia.org/wiki/Dartmouth_BASIC
原始BASIC编译器源代码的一部分,在找到DIM
命令时会在其中跳转,您可以在其中清楚地看到关键字的初衷:
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 $
...
参考:http : //dtss.dartmouth.edu/scans/BASIC/BASIC%20Compiler.pdf
后来,在较新的实现中增加了为变量指定类型的可能性时,它用于声明各种变量。
变量声明。最初,它是“维度”的缩写,它在很大程度上没有用于编程(在此特定关键字之外)。
http://in.answers.yahoo.com/question/index?qid=20090310095555AANmiAZ
Dim关键字是可选的,当我们将其与修饰符一起使用时-公共,受保护,朋友,受保护的朋友,私人,共享,阴影,静态,只读等。例如- Static nTotal As Integer
对于引用类型,我们必须使用new关键字来创建类或结构的新实例。例如Dim lblTop As New System.Windows.Forms.Label
。
将Option Infer设置为On时,Dim语句可以不带数据类型使用 。在那种情况下,编译器从其初始化表达式的类型推断出变量的数据类型。范例:
Option Infer On
Module SampleMod
Sub Main()
Dim nExpVar = 5
以上声明等同于- Dim nExpVar As Integer