4

Visual BasicでC#のこれと同等のコードを実行する必要があります。

for(var item in removeRows)
{
   two.ImportRow(item);
}

VBで「var」を宣言するのに最も近いのは基本的に

Dim something =

ただし、foreachループでこれをどのように実行しますか?

4

8 に答える 8

5

あなたはただ使うでしょう:

For Each item In removeRows
    two.ImportRow(item)
Next

VBのAs datatype仕様はオプションです。詳細については、ForEachのドキュメントを参照してください。

于 2012-09-07T19:41:13.943 に答える
4

Option Infer Onを使用すると、「As ...」を省略して、タイプが推測されます。Option Infer Offで、タイプを省略した場合、「Object」タイプが想定されます。

于 2012-09-07T20:25:41.433 に答える
3

他の人が言及しているように、オプションが推測できる場合は、AsTypeはオプションです。プロジェクトでオプション推論がオフになっていると思われます(これは、.Net 2.0で開始された既存のプロジェクトをインポートするときのデフォルトでした)。プロジェクトファイルの上部またはプロジェクトのコンパイル設定で[オプションの推測]をオンにします。

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
于 2012-09-07T20:11:07.330 に答える
1
    For Each item As Object in removerows
       two.ImportRow(item)
    Next

VB.NET(VB9)で型を省略すると、変数が暗黙的に型指定されます。

于 2012-09-07T19:42:02.117 に答える
0

For Eachのドキュメントには、AsTypeはオプションであると記載されています。

それで

For Each row in removeRows
...
Next
于 2012-09-07T19:41:56.577 に答える
0

試すことができます(With Object)、タイプはオプションです

For Each item As Object In removeRows
    two.ImportRow(item)
Next
于 2012-09-07T19:43:03.387 に答える
0

このようなもの:

   Dim siteName As String
   Dim singleChar As Char
   siteName = "HTTP://NET-INFORMATIONS.COM"
   For Each singlechar In siteName
        two.ImportRow(singleChar);
   Next
于 2012-09-07T19:43:17.200 に答える
0

vbの「as」は必要ありません。

For Each p  In Process.GetProcesses()
    Debug.WriteLine(p.ProcessName)
Next
于 2012-09-07T19:43:17.733 に答える