我需要在 Visual Basic 中运行一些与 C# 中等效的代码:
for(var item in removeRows)
{
two.ImportRow(item);
}
我知道在 VB 中最接近声明“var”的方法基本上是
Dim something =
但是,您将如何在 foreach 循环中执行此操作?
您只需使用:
For Each item In removeRows
two.ImportRow(item)
Next
VB 中的As datatype
规范是可选的。有关详细信息,请参阅For Each文档。
使用 Option Infer On,您可以去掉“As ...”,然后推断类型。使用 Option Infer Off 时,如果您不使用该类型,则将假定为“对象”类型。
正如其他人提到的那样,如果您有选项推断,则 As Type 是选项。我怀疑您的项目关闭了选项推断(这是导入在 .Net 2.0 中启动的现有项目时的默认设置)。在项目文件的顶部或项目的编译设置中打开 Option Infer On。
Option Infer On
'' This works:
For Each item In removeRows
two.ImportRow(item)
Next
Option Infer Off
'' Requires:
For Each item As DataRow In removeRows
'' I'm assuming the strong type here. Object will work with Option Strict Off
two.ImportRow(item)
Next
For Each item As Object in removerows
two.ImportRow(item)
Next
在 VB.NET (VB9) 中省略类型将隐式键入变量。
你可以试试 (With Object
), type 是可选的
For Each item As Object In removeRows
two.ImportRow(item)
Next
像这样的东西:
Dim siteName As String
Dim singleChar As Char
siteName = "HTTP://NET-INFORMATIONS.COM"
For Each singlechar In siteName
two.ImportRow(singleChar);
Next
您不需要 vb 中的“as”:
For Each p In Process.GetProcesses()
Debug.WriteLine(p.ProcessName)
Next