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

vb.net选择从一行到另一行的特定行,vb.net,line,Vb.net,Line,我想写这段代码,但它不适合我 Dim x Dim y x = TextBox1.Lines(1 - 5) y = TextBox1.Lines(6 - 10) TextBox2.Text = x TextBox3.Text = y 我想从文本框中获取值。。从第1行到第5行的x ,y从第6行到第10行确保其中有10行,否则添加一些验证/错误处理 Dim x = TextBox1.Lines.Take(5) Dim y = TextBox

我想写这段代码,但它不适合我

    Dim x

    Dim y

    x = TextBox1.Lines(1 - 5)


    y = TextBox1.Lines(6 - 10)


    TextBox2.Text = x
    TextBox3.Text = y
我想从文本框中获取值。。从第1行到第5行的x
,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
语句中指定类型。我假设您需要一个
字符串
,可以在其中存储这些行

然后
1-5
6-10
只需计算
1减5
6减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。行(0)

当你说它不适合你时,你是什么意思?您看到的结果是什么?能否进一步解释您的问题?WindowsApplication4.exe中发生了类型为“System.IndexOutOfRangeException”的未处理异常。其他信息:索引超出了数组的边界。请回答您的问题以添加更多信息。不要在评论中添加更多信息。