Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Vb.net 启用“严格”选项时,强制转换为整数而不是双精度_Vb.net - Fatal编程技术网

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。转换为整数或双精度可能不会产生明显的差异。