所以我想执行一些代码N次。 N是文本框的值(例如:12)。
我不知道如何做到这一点,但我想到的是这样的事情:
For Each i as 1 in textbox1.text
'some code
Next
或
dim num1 as integer = 0
While num1 < textbox1.text
'some code
num1 += 1
Next
这些只是我脑海中的一些想法,当我谈到这个问题时,以上都没有经过测试或尝试编码。
有什么想法吗?感谢。
答案 0 :(得分:2)
首先,打开Option Strict
。通过将可能的运行时错误转换为编译器错误,这将为您节省时间。在代码文件的顶部:
Option Strict On
也可以为整个项目设置:
项目属性 - &gt; 编译标签 - &gt; 选项严格选择器:开启
您还可以通过以下方式将其设为所有新项目的默认项目:
工具 - &gt; 选项 - &gt; 项目和解决方案 - &gt; VB默认
TextBox.Text
总是包含文本(因此是聪明的名字)。 "12"
只是一个字符串,与12
不同。因此,在使用它之前,需要将字符串转换为整数。 注意:如果您想将用户输入限制为数字,请考虑使用NumericUpDown
。
有几种转换方式,但考虑到数据来自用户,我们必须允许他们输入"I like pie"
而不是数字。因此,我们希望使用最安全的方法,在本例中为Integer.TryParse
:
' declare int var to hold the result
Dim LoopCount As Integer
If Integer.TryParse(TextBox132.Text, LoopCount) Then
' success! LoopCOunt contains the integer value of the Text control
For n As Integer = 0 To LoopCount - 1
' some code to do something
Next
Else
' failed - scold the user with a MessageBox
End if
代码中的注释说明,但首先声明一个整数变量来保存转换后的值。 Integer.TryParse
是一个返回True/False
的函数。如果成功,您的变量将保持整数值。
请参阅 Converting DataTypes for Option Strict 了解其他适用的转化方法和案例。
答案 1 :(得分:0)
这可能有用,我没试过:
Dim repeat_times as Integer = 0
Do Until repeat_times = 10 'times you want to repeat
repeat_times = repeat_times + 1
Console.WriteLine("Hello World") 'or anything you want
Loop
答案 2 :(得分:-1)
```{r results='asis'}
library(pander)
panderOptions('knitr.auto.asis', FALSE)
tmp = function() {
pander('A')
pander('B')
pander('C')
}
tmp()
```
是我的问题的答案。