【问题标题】:Translate this 'for' loop in VB.NET to C#将 VB.NET 中的这个“for”循环转换为 C#
【发布时间】:2011-12-15 14:32:13
【问题描述】:

我目前正在尝试在 C# 中使用 VB.NET 函数。我必须将以下内容从 VB.NET 翻译成 C#:

For index = LBound(CollectionChannelPanel.EkItems) To UBound(CollectionChannelPanel.EkItems)

我该怎么做?

【问题讨论】:

标签: c# vb.net


【解决方案1】:

补充 Moo-Juice 的回答:

for (int index = 0; index < CollectionChannelPanel.EkItems.Length; i++) {
}

这将更接近您的 VB.NET 代码。 (也许你对“索引”感兴趣,而不是项目本身……)

【讨论】:

  • thanks roman,我对索引更感兴趣,我想通了,它是:for (index = (CollectionChannelPanel.EkItems).GetLowerBound(0); (index
  • 这是代码翻译器的问题,他们实际上并没有改进代码。如果您更喜欢从愚蠢的 Lisp 机器而不是聪明的程序员那里获得建议,那么这取决于您。
  • 代码生成器假定“UBound”和“LBound”是您定义的函数,因此在任何情况下都可用。它不知道它们是特定于语言的别名并且仅对 VB 可用(它们在 Microsoft.VisualBasic.Information 中定义)。
  • 是的,我看到了 Roman,但我知道它们是内置的 VB 函数,不过感谢您的提醒 :)
  • 您也可以只使用 Google“C# for 循环”。 =)
【解决方案2】:
foreach(var item in CollectionChannelPanel.EkItems)
{
}

【讨论】:

  • 感谢 moo-juice,但在我发布后我才发现这个网站carlosag.net/Tools/CodeTranslator
  • 应该仍然接受他的答案是正确的,因为它是。用向上箭头击中它并检查该标记。 =)
猜你喜欢
  • 1970-01-01
  • 2012-10-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多