在 Visual Basic 中,Dim
代表什么意思?
在 Visual Basic 中,Dim
代表什么意思?
在BASIC语言中,“Dim”最初是代表“维度”的意思,因为它被用来定义数组的维度。
(最初的BASIC实现是Dartmouth BASIC,它是从FORTRAN演变而来,在FORTRAN中,DIMENSION一词被拼写出来。)
如今,“Dim”不仅可以用于定义数组,还可以用于定义任何变量,因此其含义已经不再直观。
Dim
有不同的含义。
我发现关于Dim
的含义有"在内存中声明"的说法,更相关的参考是Oracle发布的Dim语句文档,作为Siebel VB语言参考的一部分。当然,你可以争辩说如果你不在内存中声明变量,你会在哪里声明呢?也许"在模块中声明"是一个好的替代方案,考虑到Dim
的用法。
在我看来,"在内存中声明"实际上是一个记忆口诀,旨在使学习如何使用Dim
更容易。我认为"在内存中声明"是更好的含义,因为它描述了当前版本语言中它所做的事情,但这并不是正确的含义。
事实上,在Basic的起源中,Dim
仅用于声明数组。对于常规变量,不使用关键字,而是从名称推断其类型。例如,如果变量名称以$
结尾,则为字符串(这是您甚至可以在VB6中的方法名称中看到的内容,例如Mid$
)。因此,您只需使用Dim
来为数组提供维度(请注意,ReDim
调整数组大小)。
实际上,这重要吗?我的意思是,它只是一个关键词,在一种人造语言中有着其特定含义。它不必是英语或其他任何自然语言中的单词。因此,它可以意味着你想要的任何东西,重要的是它能起作用。
无论如何,这并不完全正确。由于BASIC是我们文化的一部分,了解它为什么会成为现在的样子-我希望-将有助于改善我们对世界的视觉。
Dim
。令我失望的是,他们没有说Dim
代表什么,只说了如何使用它。
但在我的希望渺茫之前,我找到了这个BBC Microcomputer System Used Guide(声称来自1984年,我不想怀疑它)。BBC微型计算机使用了一种名为BBC BASIC的变体,并在文档中进行了描述。尽管如此,它并没有说明Dim
代表什么,但它在第104页上说:
…你可以将N$定义为具有任意数量条目的数组。例如,DIM N$(1000) 将创建一个字符串数组,其中有1000个不同名称的空间。
正如我所说,它并没有说Dim
代表维度,但证明了将Dim
与Dimension
相关联是写该文档时的一种常见做法。
现在,我后来得到了一个令人满意的惊喜(在第208页),描述DIM关键字的章节标题(注意:未列在目录中)说:
DIM:数组的维数
所以,虽然我没有找到“Dim代表...”这句话,但我想任何能够阅读这些文档的正常人都会认为 Dim
意味着“维度”。
带着新的希望,我决定搜索有关如何选择Dim
的信息。再次,我没有找到相关的解释,但我找到了一句明确的话:
在使用数组之前,必须在DIM(维度)语句中定义它。
您可以在True BASIC inc的网页上找到这个句子,作为True BASIC在线用户指南的一部分。True BASIC inc是由Thomas Eugene Kurtz共同创立BASIC的合著者。
实际上,Dim
是DIMENSION
的缩写。是的,在FORTRAN中存在这个概念,因此很可能是受到FORTRAN的影响而被采用的,正如Patrick McDonald在他的回答中所说的那样。
Dim sum as string = "this is not a chinese meal" REM example usage in VB.NET ;)
它是“Dimension”的缩写,最初用于BASIC语言中指定数组的大小。
DIM -(代表dimension)定义数组的大小
参考: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 $
...
Ref: http://dtss.dartmouth.edu/scans/BASIC/BASIC%20Compiler.pdf
最初, BASIC 编程语言中的 "DIM" 关键字用于声明数组变量。随着具有更近期实现的版本中添加了为变量指定类型的可能性,它后来被用于声明各种类型的变量。定义一个变量,基本上是告诉编译器在某个时刻你将需要这种类型的变量。
它代表维度,但通常被读作“创建变量”或“为此分配空间”。
变量声明。最初,它是“dimension”的缩写,除了这个特定的关键字,在编程中几乎不使用这个术语。
http://in.answers.yahoo.com/question/index?qid=20090310095555AANmiAZ
早期的DIM为数组保留了内存,当内存有限时,您需要小心地使用它。我曾经在1981年用48Kb RAM的TRS-80 Model III上编写了一个BASIC程序。如果不通过更改DIM语句来减少数组大小,它将无法在16Kb RAM的类似机器上运行。
DIM代表内存声明 DIM x As New Integer 在内存中创建了一个空间,用于存储变量x
Dimension是变量的一种类型,这个词可以让你在Visual Basic中声明(或“告诉”Visual Basic),你正在设置一个变量。
当使用修饰符- Public、Protected、Friend、Protected Friend、Private、Shared、Shadows、Static、ReadOnly 等时,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