在文本框中获取前 10 行和后 10 行 C#

Get first 10 lines and last 10 lines in textbox c#

我需要在 Windows Forms 应用程序的文本框中获取多行文本的前 10 行和后 10 行。

ex.(textbox values)
Chicken
Chinese
Beef
Pork
Mutton
Fish
Prawn
Vegetarian
--
---
var r1 = textBoxValues.Select(t=>t.values).Take(10);

var r2 = textBoxValues.Select(t=>t.values).Reverse().Take(10);

System.Windows.Forms.TextBox继承自TextBoxBase,它有一个属性:

public string[] Lines { get; set; }

你可以查询这个 属性 的长度,当它有超过 10 个元素时(它是一个普通的字符串数组),那么你可以从那里取前十个和后十个.如果要求前十个和后十个不重叠,则需要保证数组数至少为20

您可以使用 Linq:

  var source = myTextBox.Lines;

  var first = source.Take(10);
  var last = source.Skip(source.Length - 10);

现在,让我们将第一个值打印到 myReportTextBox:

 myReportTextBox.Text = String.Join(Environment.NewLine, first);