在Visual Basic中Dim代表什么?
当前回答
变量声明。最初,它是“维度”的缩写,这不是一个在编程中使用的术语(除了这个特定的关键字)。
http://in.answers.yahoo.com/question/index?qid=20090310095555AANmiAZ
其他回答
维数变量,基本上你是在告诉编译器你在某个时候需要一个这种类型的变量。
变量声明。最初,它是“维度”的缩写,这不是一个在编程中使用的术语(除了这个特定的关键字)。
http://in.answers.yahoo.com/question/index?qid=20090310095555AANmiAZ
Dim被赋予了不同的含义。
我找到了Dim的意思是“在内存中声明”的参考资料,更相关的参考资料是关于Dim语句的文档,作为Siebel VB语言参考的一部分发布在Oracle中。当然,你可能会说,如果你不在内存中声明变量,你在哪里声明呢?考虑到Dim的使用方式,也许“Declare in Module”是一个不错的选择。
在我看来,“Declare In Memory”实际上是一个助记符,创建它是为了让学习如何使用Dim更容易。我认为“Declare In Memory”有更好的含义,因为它描述了它在当前版本的语言中所做的事情,但它不是正确的含义。
事实上,在Basic Dim的起源仅用于声明数组。对于常规变量,不使用关键字,而是从它们的名称推断它们的类型。例如,如果变量名以$结尾,那么它就是一个字符串(这是你甚至可以在VB6的方法名中看到的,例如Mid$)。因此,使用Dim只是为了给数组赋值(注意,ReDim调整数组的大小)。
真的吗?我的意思是,这是一个关键词,它在人工语言中有它的含义。它不必是英语或任何其他自然语言中的一个单词。所以它可以是你想要的任何东西,重要的是它能起作用。
无论如何,这并不完全正确。因为BASIC语言是我们文化的一部分,我希望理解它为什么会是这样,这将有助于改善我们对世界的看法。
我坐在电脑前,渴望帮助保护我们文化中这一小块似乎已经消失的东西,取而代之的是我们对它的猜测。因此,我从1998年的版本中挖掘了MSDN当前和旧的cd。我还搜索了旧的QBasic文档[不得不使用DOSBox],并设法得到了一些Darthmouth手册,所有这些都是为了找到他们是如何谈论Dim的。令我失望的是,他们没有说Dim代表什么,只说如何使用。
但在我的希望渺茫之前,我设法找到了这本BBC微型计算机系统使用指南(它声称是1984年的,我不想怀疑它)。BBC微型计算机使用的是一种叫做BBC BASIC的BASIC变体,在文档中有详细描述。尽管它没有说Dim代表什么,但它说(在104页):
... 你可以给N$维数,让它有你想要的个数。为 例如,DIM N$(1000)将创建一个空间为1000的字符串数组 不同的名称。
正如我所说的,它并没有说Dim代表维度,但它证明了在编写该文档时将Dim与dimension关联是一件很常见的事情。
现在,我后来得到了一个惊喜(在第208页),描述DIM关键字的部分的标题(注意:在内容中没有列出)说:
数组的DIM维数
所以,我没有听到“Dim代表…”这句话,但我想很明显,任何能够阅读这些文件的正派人都会认为Dim代表维度。
怀着新的希望,我决定调查一下迪姆是如何被选中的。同样,我没有找到关于这个主题的说明,但我仍然能够找到一个明确的引用:
在使用数组之前,必须在DIM(维度)语句中定义它。
你可以在True BASIC公司的网页上找到这是True BASIC在线用户指南的一部分,该公司是由BASIC的合著者Thomas Eugene Kurtz创立的。
所以,实际上,Dim是DIMENSION的缩写,是的。它之前就存在于FORTRAN中,所以它很可能是受FORTRAN的影响而选择的,就像Patrick McDonald在他的回答中所说的那样。
Dim sum as string = "this is not a chinese meal" REM example usage in VB.NET ;)
DIM代表内存声明 DIM x作为新整数 在内存中创建存储变量x的空间
Dim关键字是可选的,当我们使用它与修饰器-公共,受保护,朋友,受保护的朋友,私人,共享,阴影,静态,只读等。 例:-静态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