vb.net选择从一行到另一行的特定行

时间:2019-03-08 20:49:39

标签: vb.net line

我想编写这段代码,但对我来说不起作用

    Dim x

    Dim y

    x = TextBox1.Lines(1 - 5)


    y = TextBox1.Lines(6 - 10)


    TextBox2.Text = x
    TextBox3.Text = y

我想从文本框中获取值.. x从第1行到第5行 ,y从第6行到第10行

2 个答案:

答案 0 :(得分:0)

确保其中有10行,否则添加一些验证/错误处理

Dim x = TextBox1.Lines.Take(5)
Dim y = TextBox1.Lines.Skip(5).Take(5)
TextBox2.Text = String.Join(Environment.NewLine, x)
TextBox3.Text = String.Join(Environment.NewLine, y)

根据您的编辑,您甚至不需要x和y。简单

TextBox2.Text = String.Join(Environment.NewLine, TextBox1.Lines.Take(5))
TextBox3.Text = String.Join(Environment.NewLine, TextBox1.Lines.Skip(5).Take(5))

答案 1 :(得分:0)

首先,您必须在Dim语句中指定一种类型。我假设您要使用String来存储这些行。

然后1 - 56 - 10仅计算1 minus 56 minus 10,而没有指定行范围。您可以使用LINQ选择所需的行。但是然后,您必须连接以字符串枚举形式给出的这些行,以构建单个字符串。

Dim x, y As String

x = String.Join(vbNewLine, TextBox1.Lines.Take(5)) 'Lines 1 - 5
y = String.Join(vbNewLine, TextBox1.Lines.Skip(5).Take(5)) 'Lines 6 - 10

还要注意,Lines属性返回一个字符串数组。数组索引在VB.NET中从0开始!也就是说,第一行是TextBox1.Lines(0)