vb.net - 有没有办法在 vb.net 循环中使用非线性步长?

标签 vb.net

我想在 vb 中执行以下 c 语句。

for(int i = 2^20; i > 0; i/=2)
{
   printf("%d\n",i); 
}  

在 vb 中看起来类似于:

For i As Integer = 2^32 to 0 Step /2
   Console.Out.Writeline("{0}", i)
Next

具体来说,每次迭代 i 除以 2 的变量不是 法律动词。

有没有一种方法可以使用允许的 For 语句来编写此代码?

最佳答案

不,VB 中的 FOR 循环更短但更不灵活。

显而易见的解决方法当然是 While 循环。

' untested
Dim i As Integer = 2^30  ' 2^32 will overflow
While i >= 0
   Console.Writeline("{0}", i)
   i = i Div 2
End While

关于vb.net - 有没有办法在 vb.net 循环中使用非线性步长?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5890219/

相关文章:

.net - 在代码中执行结果集分组,而不是在数据库级别

vb.net - For Each 循环 VB.NET 中的 Fortify 扫描 Null Dereference 问题

c# - 将 yield 翻译成 VB.NET

mysql - 使用 VB.Net 将日期从 mm-dd-yyyy 转换为 MySql 格式

vb.net - InvalidCastException 未处理?

c# - 需要一个在 VB.NET 中使用的 C# 类的工作示例

asp.net:部分类和继承

javascript - 在不知道键名的情况下访问 JSON 对象的元素

c# - 为什么 InvokeRequired 和 Dispatcher.CheckAccess 的 bool 值颠倒?

vb.net - 反射 - 类内数组的 SetValue?