VB的Dim与C#的var相同吗?
发布时间:2020-12-17 00:06:51 所属栏目:大数据 来源:网络整理
导读:这是一个小问题:在VB上,我可以使用Dim来声明变量.在C#中,我可以声明然后使用var.我更熟悉C#的复杂性,我知道var使用类型推断来确定变量的类型.但我不知道’Dim’是什么. 我似乎在this question,但它并不比较这两个关键字.如果有区别,有人可以告诉我哪个? 这
这是一个小问题:在VB上,我可以使用Dim来声明变量.在C#中,我可以声明然后使用var.我更熟悉C#的复杂性,我知道var使用类型推断来确定变量的类型.但我不知道’Dim’是什么.
我似乎在this question,但它并不比较这两个关键字.如果有区别,有人可以告诉我哪个?
这取决于是否指定了
Option Infer .通常,以下是等效的:
'VB.Net Dim myVar Dim myString = "Hello world!" Dim myString2 As String = "Hello world!" //C# object myVar; object myString = "Hello world!"; //Notice type is object,*not* string! string myString2 = "Hello world!"; 但是,启用了Option Infer,当变量在同一行上初始化时,Dim变得更像var. 'VB.Net Option Infer On Dim myVar Dim myString = "Hello!" //C# object myVar; var myString = "Hello!"; //Or the equivalent: string myString = "Hello!"; 请注意,这可能会导致一些混淆,因为在声明点突然初始化一个变量意味着与以后初始化不同的东西: 'VB.Net Option Infer On Dim myVar1 myVar1 = 10 Dim myVar2 = 10 myVar1 = New MyClass() 'Legal myVar2 = New MyClass() 'Illegal! - Value of type 'MyClass' cannot be converted to 'Integer' 这可以通过启用 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |