是否有 issue/difference 使用文字数据类型
Is there any issue/difference using literal data types
有什么区别吗:
Dim Str As String
Dim Int As Integer
Dim Lng As Long
Dim Sng As Single
Dim Dbl As Double
Dim Dec As Decimal
和
Dim Str$
Dim Int%
Dim Lng&
Dim Sng!
Dim Dbl#
Dim Dec@
我可以毫无问题地使用缩写吗?
没有区别。 https://msdn.microsoft.com/en-us/library/s9cz43ek.aspx
唯一的问题是代码的可读性和可维护性。另一个不熟悉类型后缀的程序员将无法轻松维护您的代码。
不要那样做。这些缩写是过去的遗物。它们从 Basic 时代就存在了。它会损害代码的可读性。因为有 IntelliSense,您不会浪费时间输入非缩写代码。如果你真的想缩写,让编译器选择这样的类型:
dim str = "my string"
(例如)。
要使其正常工作,Option Infer 必须处于活动状态
没有任何区别。有关这些的详细信息,请参阅 this page。
这些是以前版本的 Visual Basic 的遗留物,已经(正确地)停止使用,因此您应该尽量避免使用它们。
此外 - 它可能会让人感到困惑(也许不会让你感到困惑,但绝对会让其他人看你的代码)因为所有这些字符都有其他含义:
$
VS2015中的字符串插值字符
&
字符串连接
!
字段快捷方式运算符
#
码区
对于任何熟悉 C# 的人:
%
C# 中的模运算符
@
C# 中的字符串文字
注意:只要你有 Option Infer On
(并始终确保你有 Option Strict On
)——在很多情况下你不需要定义类型,因为这是正确的推断:
Dim a = CalculateSum(1, 2)
在这种情况下 CalculateSum
returns 一个 Integer
,因此 a
被声明为整数。
有什么区别吗:
Dim Str As String
Dim Int As Integer
Dim Lng As Long
Dim Sng As Single
Dim Dbl As Double
Dim Dec As Decimal
和
Dim Str$
Dim Int%
Dim Lng&
Dim Sng!
Dim Dbl#
Dim Dec@
我可以毫无问题地使用缩写吗?
没有区别。 https://msdn.microsoft.com/en-us/library/s9cz43ek.aspx
唯一的问题是代码的可读性和可维护性。另一个不熟悉类型后缀的程序员将无法轻松维护您的代码。
不要那样做。这些缩写是过去的遗物。它们从 Basic 时代就存在了。它会损害代码的可读性。因为有 IntelliSense,您不会浪费时间输入非缩写代码。如果你真的想缩写,让编译器选择这样的类型:
dim str = "my string"
(例如)。
要使其正常工作,Option Infer 必须处于活动状态
没有任何区别。有关这些的详细信息,请参阅 this page。
这些是以前版本的 Visual Basic 的遗留物,已经(正确地)停止使用,因此您应该尽量避免使用它们。
此外 - 它可能会让人感到困惑(也许不会让你感到困惑,但绝对会让其他人看你的代码)因为所有这些字符都有其他含义:
$
VS2015中的字符串插值字符&
字符串连接!
字段快捷方式运算符#
码区
对于任何熟悉 C# 的人:
%
C# 中的模运算符@
C# 中的字符串文字
注意:只要你有 Option Infer On
(并始终确保你有 Option Strict On
)——在很多情况下你不需要定义类型,因为这是正确的推断:
Dim a = CalculateSum(1, 2)
在这种情况下 CalculateSum
returns 一个 Integer
,因此 a
被声明为整数。