在Visual Basic和BASIC中,DIM代表什么?

在Visual Basic中,DIM代表什么?

Dim最初(在BASIC中)代表Dimension,因为它用于定义数组的维数。

(BASIC的原始实现是Dartmouth BASIC,后者是从FORTRAN开始,DIMENSION是拼写出来的。)

现在,Dim被用来定义任何variables,而不仅仅是数组,所以它的含义不再直观。

Dim有不同的意思归因于它。

我已经find关于Dim意思是“声明在内存中”的引用,更相关的引用是作为Siebel VB语言参考的一部分发布的Oracle的Dim语句上的文档。 当然,你可能会争辩说,如果你不在内存中声明variables,你在哪里做的呢? 也许考虑如何使用Dim “在模块中声明”是一个很好的select。

在我看来,“声明在内存”实际上是一个助记符 ,创造更容易学习如何使用Dim 。 我看到“在内存中声明”是一个更好的含义,因为它描述了它在当前语言版本中的作用,但这不是正确的含义。

事实上,在基本的Dim的起源只是用来声明数组。 对于常规variables,没有使用关键字,而是从他们的名字推断出他们的types。 例如,如果variables的名字以$结尾,那么它是一个string(即使在方法名称为VB6的情况下,这也是可以看到的,例如Mid$ )。 所以,你只使用Dim来给数组赋予维数 (注意ReDim调整数组的大小)。


真的, 这很重要吗? 我的意思是,它是一个关键词,它在一个人造语言里有它的意义。 它不一定是英文或任何其他自然语言的词汇。 所以它可能只是意味着任何你想要的,重要的是它的作品。

总之,这并不完全正确。 由于BASIC是我们文化的一部分,并且理解它为什么会如此 – 我希望 – 将有助于改善我们对世界的看法。


我坐在电脑旁边,希望能够帮助保存这个似乎丢失的文化的一小块,取而代之的是我们猜测它是什么。 因此,我从1998年的版本中挖掘了MSDN当前版本和旧版CD。 我也搜查了旧的QBasic的文档(不得不使用DOSBox),并设法得到一些Darthmouth的手册,全部find他们如何谈论Dim 。 令我失望的是,他们并没有说Dim是什么意思,只是说它是如何使用的。

但是在我的希望渺茫之前,我设法find了“ BBC微机系统使用指南” (声称自1984年起,我不想怀疑它)。 英国广播公司的微机使用了基本的称为英国广播公司BASIC的变种,这是在文件中描述。 尽pipe它并没有说Dim代表什么,它说(在第104页):

…您可以维度N $有尽可能多的条目,你想要的。 例如,DIM N $(1000)会创build一个string数组,其中包含1000个不同名称的空间。

正如我所说的,并不是说Dim代表维度,而是作为certificate,表明在编写该文档时将DimDimension关联是常见的事情。

现在,我后来得到了一个惊喜(在第208页),描述DIM关键字的部分的标题(注意:没有在内容中列出)说:

DIM维度的数组

所以,我没有得到“Dim代表…”这句名言,但是我想很清楚,能够阅读这些文档的任何像样的人都会认为Dim就是尺寸。


我希望重新findDim是如何select的。 再次,我没有find关于这个问题的一个帐户,但我仍然能够find一个明确的报价:

在使用数组之前,您必须在DIM(维)语句中定义它。

您可以在True BASIC inc(由BASIC的合着者Thomas Eugene Kurtz创build的公司)的网页上将其作为True BASIC Online用户指南的一部分。


所以,在实际上, DimDIMENSION的简写,是的。 这在FORTRAN之前就存在了,所以很可能是因为Patrick McDonald在答复中所说的,被FORTRAN的影响所拣选。


 Dim sum as string = "this is not a chinese meal" REM example usage in VB.NET ;) 

Dimension是Dimension的缩写,因为它最初在BASIC中用于指定数组的大小。

DIM – (尺寸缩写)定义数组的大小

参考: http : //en.wikipedia.org/wiki/Dartmouth_BASIC

原始的BASIC编译器源代码的一部分,当它find一个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

后来它被用来声明各种variables,当在最近的实现中添加指定variablestypes的可能性时。

标注一个variables,基本上你要告诉编译器在某个时刻你将需要一个这种types的variables。

它代表Dimension,但通常被读作“创buildvariables”或“为此分配空间”。

variables声明。 最初,它是“维度”的缩写,这不是一个用于编程的术语(在这个特定的关键字之外)在任何重要的程度上。

http://in.answers.yahoo.com/question/index?qid=20090310095555AANmiAZ

DIM代表内存中的声明DIM x As New Integer在存储variablesx的内存中创build一个空间

在当天DIM为arrays保留内存,当内存有限时,您必须小心如何使用它。 我曾经写过(在1981年)一个BASIC程序TRS-80模型III与48Kb RAM。 它不会在16Kb RAM的类似机器上运行,直到我通过更改DIM语句来减小数组大小

尺寸缩写 这是一种variables。 你声明(或“告诉”Visual Basic)你正在用这个词build立一个variables。

Dim关键字是可选的,当我们使用修饰符 – 公共,受保护的,朋友,受保护的朋友,私人,共享,阴影,静态,只读等。示例 – 静态nTotal作为整数

对于引用types,我们必须使用new关键字来创build类或结构的新实例。 例如:Dim lblTop As New System.Windows.Forms.Label。

当您将Option Infer设置为On时,Dim语句可以与数据types一起使用。 在这种情况下,编译器从其初始化expression式的types中推断variables的数据types。 例如:选项推断

模块SampleMod

Sub Main()

  Dim nExpVar = 5 

上面的语句是平等的Dim nExpVar As Integer