2015-06-26 134 views
-3

VB代码(类型和标识符在foreach语句\t都必需):转换VB到c#

Dim janTbl As Janus.Windows.GridEX.GridEXTable 

For Each janTbl In lvtoolpartsinfo.Tables` 

C#代码:

Janus.Windows.GridEX.GridEXTable janTbl = new Janus.Windows.GridEX.GridEXTable(); 

foreach (janTbl in lvtoolpartsinfo.Tables) 
{ } 

错误:类型和标识符都在所要求的foreach语句

编辑:

C#代码:

foreach (Janus.Windows.GridEX.GridEXTable janTbl in lvtoolpartsinfo.Tables) 
    janTbl.Columns[0].Visible = false; 
    janTbl.Columns[1].Caption = "Part Number"; 
    janTbl.Columns[1].ShowRowSelector = true; 
    janTbl.Columns[1].EditType = Janus.Windows.GridEX.EditType.NoEdit; 
    janTbl.Columns[1].Width = 120; 

错误:

line 3:The name 'janTbl' does not exist in the current context 
line 4 ... 
line 5.. 
+0

@sstan在line2中发生错误。在C#代码 – brylle

+1

你没有大括号'{'和'}'。没有它们,只有第一行'janTbl.Columns [0] .Visible = false;'被认为是循环的一部分。其他人会***外***,所以他们看不到'janTbl'是正常的。再看看我的答案。注意大括号的位置。 – sstan

+0

我知道了,先生。 TY :) – brylle

回答

1

删除这一行:

Janus.Windows.GridEX.GridEXTable janTbl = new Janus.Windows.GridEX.GridEXTable(); 

然后你只需要修复您的foreach语句,以包括类型janTbl和你设置:

foreach (Janus.Windows.GridEX.GridEXTable janTbl in lvtoolpartsinfo.Tables) 
{ 
    // ... 
} 
+0

它不能识别codition里面的janTbl {} – brylle

+0

你确切的错误是什么? – sstan

+0

名称'janTbl'在当前上下文中不存在 – brylle

1

你缺少括号:

foreach (var janTbl in lvtoolpartsinfo.Tables) 
{ // <--- don't forget this 

    janTbl.Columns[0].Visible = false; 
    janTbl.Columns[1].Caption = "Part Number"; 
    janTbl.Columns[1].ShowRowSelector = true; 
    janTbl.Columns[1].EditType = Janus.Windows.GridEX.EditType.NoEdit; 
    janTbl.Columns[1].Width = 120; 

} // <--- and this 

如果没有括号,只有foreach()语句后的第一行是循环的一部分。之后的代码在循环之外,并且与您写下该代码相同:

foreach (Janus.Windows.GridEX.GridEXTable janTbl in lvtoolpartsinfo.Tables) 
     janTbl.Columns[0].Visible = false; 

janTbl.Columns[1].Caption = "Part Number"; 
janTbl.Columns[1].ShowRowSelector = true; 
janTbl.Columns[1].EditType = Janus.Windows.GridEX.EditType.NoEdit; 
janTbl.Columns[1].Width = 120; 
+0

ahhhhhhhhh。我知道了 。 TY – brylle