vb.net select 特定行,从一行到另一行

vb.net select specific lines, from one line to another 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 行

确保其中有 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))

首先,您必须在 Dim 语句中指定一个类型。我假设您想要一个 String 可以存储这些行的地方。

然后1 - 56 - 10只计算1 minus 56 minus 10,不指定行范围。您可以使用 LINQ 来 select 所需的行。但是你必须加入这些作为字符串枚举给出的行来构建一个字符串。

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属性returns一个字符串数组。在 VB.NET 中,数组索引从 0 开始!即,第一行是 TextBox1.Lines(0).