Vb.net 启用“严格”选项时,强制转换为整数而不是双精度
我最近为解决方案设置了严格选项。有这样的代码:Vb.net 启用“严格”选项时,强制转换为整数而不是双精度,vb.net,Vb.net,我最近为解决方案设置了严格选项。有这样的代码: Dim intTest As String If intTest = 1 Then 'line 2 End If 我没有写这段代码。当我将设置更改为时,编译器建议将第2行更改为: If CDbl(intTest) = 1 Then 但我将其改为: If Cint(intTest) = 1 Then 编译器建议强制转换为双精度而不是整数,这是有原因的吗?保留字符串而不是使用整数是有原因的?不需要
Dim intTest As String
If intTest = 1 Then 'line 2
End If
我没有写这段代码。当我将设置更改为时,编译器建议将第2行更改为:
If CDbl(intTest) = 1 Then
但我将其改为:
If Cint(intTest) = 1 Then
编译器建议强制转换为双精度而不是整数,这是有原因的吗?保留字符串而不是使用整数是有原因的?不需要Cxxx。因为编译器正在选择一种数据类型,该类型将适应数字的多种表示方式。如果字符串未被验证,您可能会考虑使用整数。TyPARSE。程序员的工作是判断这是否是好的建议,编译器无法知道。@Hans Passant,这是否意味着当option strict设置为off时,编译器在编译代码时将转换为double?我想可能会有性能提升。性能提升的“可能”是完全避免强制转换,并始终首先使用Option Strict。转换为整数或双精度可能不会产生明显的差异。