DIM在Visual Basic中代表什么?
答案 0 :(得分:303)
Dim(在BASIC中)代表Dimension,因为它用于定义数组的尺寸。
(BASIC的最初实现是Dartmouth BASIC,它来自FORTRAN,其中DIMENSION被拼写出来。)
如今,Dim用于定义任何变量,而不仅仅是数组,因此它的含义不再直观。
答案 1 :(得分:114)
Dim
具有不同的含义。
我发现有关Dim
含义“在内存中声明”的参考文献,更相关的参考文献是Dim Statement已发布的Oracle上的文档,作为Siebel VB语言的一部分参考。当然,你可能会争辩说,如果你没有在内存中声明变量你在哪里做?考虑到如何使用Dim
,也许“在模块中声明”是一个不错的选择。
在我看来,“在内存中声明”实际上是一个助记符,旨在让学生更容易学习如何使用Dim
。我认为“在内存中声明”是一个更好的含义,因为它描述了它在语言的当前版本中的作用,但它不是正确的含义。
事实上,Basic Dim
的起源仅用于声明数组。对于常规变量,不使用关键字,而是从其名称推断出它们的类型。例如,如果变量的名称以$
结尾,那么它就是一个字符串(即使在方法名称中也可以看到这一点,直到VB6,例如Mid$
)。因此,您仅使用Dim
将维度提供给数组(请注意ReDim
调整数组大小。)
真的,重要吗?我的意思是,它是一个关键词,它在人工语言中有其含义。它不一定是英语或任何其他自然语言。所以它可能意味着你想要的任何东西,重要的是它是有效的。
无论如何,这并非完全正确。由于BASIC是我们文化的一部分,并且理解为什么它成为现实 - 我希望 - 将有助于改善我们对世界的看法。
我从我的电脑里坐下来,希望能够帮助保存我们看似失去的这一小部分文化,取而代之的是我们猜测它是什么。因此,我从1998年的版本中挖掘了当前和旧CD的MSDN。我还搜索了旧QBasic的文档[必须使用DOSBox]并设法获得一些达斯茅斯手册,所有这些都是为了找到他们如何谈论Dim
。令我失望的是,他们没有说Dim
代表什么,只说它是如何被使用的。
但在我的希望黯淡之前,我设法找到了这个BBC Microcomputer System Used Guide(声称是1984年,我不想怀疑它)。 BBC微型计算机使用了一种名为BBC BASIC的BASIC变体,并在文档中对其进行了描述。尽管如此,它没有说Dim
代表什么,它说(第104页):
...您可以将N $标注为拥有任意数量的条目。对于 例如,DIM N $(1000)将创建一个空格为1000的字符串数组 不同的名字。
正如我所说,它并没有说Dim
代表维度,而是作为证据表明在编写本文时将Dim
与Dimension
相关联是常见的事情那份文件。
现在,我稍后得到了一个有意义的惊喜(第208页),描述DIM关键字的部分的标题(注意:内容中未列出)说:
数组的DIM维度
所以,我没有得到“Dim代表......”的引用,但我想很明显,能够阅读这些文件的任何体面的人都会认为Dim
意味着维度。 / p>
有了新的希望,我决定搜索Dim
是如何被选中的。再一次,我没有找到关于这个主题的帐户,但我仍能找到一个明确的引用:
在使用数组之前,必须在DIM(维度)语句中定义它。
你可以在True BASIC inc的网页上找到这个True BASIC Online User's Guides的一部分,这是一家由BASIC的合着者Thomas Eugene Kurtz创立的公司。
所以,实际上,Dim
是 DIMENSION
的简写,是的。那之前存在于FORTRAN中,所以很可能它被FORTRAN的影响选为Patrick McDonald said in his answer。
Dim sum as string = "this is not a chinese meal" REM example usage in VB.NET ;)
答案 2 :(得分:28)
它是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
后来它被用来声明所有类型的变量,在更近期的实现中添加了指定变量类型的可能性。
答案 3 :(得分:13)
对变量进行维度,基本上你告诉编译器你在某个时候需要一个这种类型的变量。
答案 4 :(得分:12)
它代表Dimension,但通常读作“创建变量”或“为此分配空间。”
答案 5 :(得分:9)
变量声明。最初,它是“维度”的缩写,“维度”不是用于编程(在此特定关键字之外)的任何重要程度的术语。
http://in.answers.yahoo.com/question/index?qid=20090310095555AANmiAZ
答案 6 :(得分:6)
DIM代表内存中的声明 DIM x作为新整数 在内存中创建一个存储变量x的空间
答案 7 :(得分:5)
当天DIM为阵列保留内存,当内存有限时,你必须小心使用它。我曾经(1981年)写过一个关于TRS-80 Model III的BASIC程序,内存为48Kb。它不会在具有16Kb RAM的类似机器上运行,直到我通过更改DIM语句来减小数组大小
答案 8 :(得分:3)
Dimension的缩写。这是一种变量。您声明(或“告诉”Visual Basic)您正在使用此单词设置变量。
答案 9 :(得分:2)
当我们使用修饰符时,Dim关键字是可选的 - 公共,受保护,朋友,受保护的朋友,私人,共享,阴影,静态,只读等。
例如 - Static nTotal As Integer
对于引用类型,我们必须使用 new 关键字来创建类或结构的新实例。例如Dim lblTop As New System.Windows.Forms.Label
。
设置时,Dim语句可以与数据类型一起使用 选项推断。 在这种情况下,编译器从其初始化表达式的类型中推断出变量的数据类型。 示例:
Option Infer On
Module SampleMod
Sub Main()
Dim nExpVar = 5
以上陈述相当于 - Dim nExpVar As Integer