Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/vb.net/15.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拒绝自动声明FOR循环变量?_Vb.net - Fatal编程技术网

如何使VB.NET拒绝自动声明FOR循环变量?

如何使VB.NET拒绝自动声明FOR循环变量?,vb.net,Vb.net,我正在维护一个具有以下代码的项目: For i = 1 to 9 <do stuff> Next 然后,生产机器和开发机器都无法运行它,表示i未声明 是什么让dev机器在For循环中允许未声明的i,以及如何禁用此功能?这是一种称为本地类型推断的功能。有了它,您可以在不指定类型的情况下声明变量: ' Variable num is an Integer. Dim num = 5 ' Variable dbl is a Double. Dim dbl = 4.113 '

我正在维护一个具有以下代码的项目:

For i = 1 to 9
    <do stuff>
Next
然后,生产机器和开发机器都无法运行它,表示
i
未声明


是什么让dev机器在
For
循环中允许未声明的
i
,以及如何禁用此功能?

这是一种称为本地类型推断的功能。有了它,您可以在不指定类型的情况下声明变量:

' Variable num is an Integer. 
Dim num = 5

' Variable dbl is a Double. 
Dim dbl = 4.113

' Variable str is a String. 
Dim str = "abc" 

' Variable pList is an array of Process objects. 
Dim pList = Process.GetProcesses()

' Variable i is an Integer. 
For i = 1 To 10
    Console.WriteLine(i)
Next 
您可以将其作为文件中的第一行或整个项目禁用:

  • 单击解决方案资源管理器中的项目
  • 通过单击“视图”菜单上的“属性页”打开项目设计器
  • 在“编译”选项卡上的“选项推断”框中,单击“关闭”

这是一种称为本地类型推断的功能。有了它,您可以在不指定类型的情况下声明变量:

' Variable num is an Integer. 
Dim num = 5

' Variable dbl is a Double. 
Dim dbl = 4.113

' Variable str is a String. 
Dim str = "abc" 

' Variable pList is an array of Process objects. 
Dim pList = Process.GetProcesses()

' Variable i is an Integer. 
For i = 1 To 10
    Console.WriteLine(i)
Next 
您可以将其作为文件中的第一行或整个项目禁用:

  • 单击解决方案资源管理器中的项目
  • 通过单击“视图”菜单上的“属性页”打开项目设计器
  • 在“编译”选项卡上的“选项推断”框中,单击“关闭”

我更新了您的链接,指向该页面的英文版本。(+1)我的属性页没有选项卡,并且似乎没有“推断任何地方”选项。它在左边有一个列表,列出了“引用”、“构建”、“可访问性”、“开始选项”、“MSBuild选项”、“Silverlight应用程序”。我在
web.config
中的
system.codedom
下找到了该选项:
-谢谢您的提示!您可能打开了解决方案属性页,而不是项目属性页;这里是一个屏幕截图:解决方案属性看起来不同,有两个部分是“公共属性”和“配置属性”。但是web.config选项确实解决了这个问题——一旦我知道它叫什么,我就更新了你的链接,指向该页面的英文版本。(+1)我的属性页没有选项卡,并且似乎没有“推断任何地方”选项。它在左边有一个列表,列出了“引用”、“构建”、“可访问性”、“开始选项”、“MSBuild选项”、“Silverlight应用程序”。我在
web.config
中的
system.codedom
下找到了该选项:
-谢谢您的提示!您可能打开了解决方案属性页,而不是项目属性页;这里是一个屏幕截图:解决方案属性看起来不同,有两个部分是“公共属性”和“配置属性”。但是web.config选项肯定已经解决了这个问题——在我知道它的名称之后。假设我是一个整数,那么将I改为integer=1到9,假设I是一个整数,将I改为integer=1到9