请问vb.net高手一个简单的问题

有没有人在啊,想请讲解下,请问vb.net高手一个简单的问题?

我要输入一组数据,这组数据的数量事先不知道,可能只有几个,也许有几百个,应该怎样声明,不能预先声明几百个吧,我尝试用循环的形式,但是不成功

还有一个是,vb.net,当我生成exe文件后,当我输入一组数据,怎样让他永久保存,直到再次修改看,我指的是即使关闭此程序,已经输入的数据也不会消失不见
最新回答
凭栏听雨

2025-03-02 04:09:43

第一个问题,动态数组。

举例:

Dim data() As String = New String() {}
Dim i As Integer = 0 '储存数据的个数
Dim inputStr As String = ""
Do
    ReDim Preserve data(i)
    inputStr = InputBox("请输入第 " & i + 1 & " 个数据:")
    If inputStr = "end" Then Exit Do
    data(i) = inputStr
    i += 1
Loop

 

第二个问题,把输入的数据保存成文件,下次运行程序时再读取,这个不多说了,百度“VB.NET 文件读写”即可。

追问
不是很明白动态数组,大学时没学过,我想处理这个问题
Select Case i
Case Is < n
Case Is < m

Case Is < l
Text = 5
n/m/l是被声明的变量,但是在实际工作上,并不事先知道到底有多少变量,这种情况怎么办
追答

不能用 Select Case 语句了,Select Case 是针对有限个条件的判断,而你的条件数量不定。

应该用 For 循环和 If 语句来判断。

For j As Integer = 0 to data.Length 
    '假设所有变量都存放在data这个数组里
    'data(0) = n: data(1) = m; data(2) = l 
    If i < data(j) Then
       'balabala
    End If
Next j
追问

大致都明白了,有两点在问下 For j As Integer = 0 to data.Length 这段代码的意思是不是j是作为变量,再循环中被赋值,与i比较,进行判断

第二点是我把上两段代码写入vb.net运行时,弹出了这么一个错误,这是怎么会事啊,为了防止变量错误,我把if所在的代码中,i换成了n,用textbox1给n赋值

╒↘亻赱糹エ°

2025-03-02 06:17:06

保存到txt里吧,每次启动就加载txt。
输出
open "文件名" for output as #1
print #1, S
close #1

输入
open "文件名" for input as #1
Line Input #1, S
close #1