在c#中将文本框的值存储在数组中

本文关键字:数组 存储 文本 | 更新日期: 2023-09-27 18:15:01

我有一个有10个文本框和OK按钮的表单。单击OK按钮时。我需要将文本框中的值存储为数组字符串。

有人能帮我一下吗?

在c#中将文本框的值存储在数组中

我需要将文本框中的值存储为数组字符串。

string[] array = this.Controls.OfType<TextBox>()
                              .Select(r=> r.Text)
                              .ToArray();

上面期望文本框直接在Form上,而不是在容器内,如果它们在多个容器内,那么你应该递归地得到所有的控件。

确保包含using System.Linq;

如果你使用的是低于。net Framework 3.5的框架。然后可以使用一个简单的foreach循环,如:

List<string> list = new List<string>();
foreach(Control c in this.Controls)
{
  if(c is TextBox)
     list.Add((c as TextBox).Text);
}

(这将适用于。net framework 2.0以后的版本)

获取所有文本框,而不仅仅是表单的直接子框(this)

Func<Control, IEnumerable<Control>> allControls = null;
allControls = c => new Control[] { c }.Concat(c.Controls.Cast<Control>().SelectMany(x => allControls(x)));
var all = allControls(this).OfType<TextBox>()
            .Select(t => t.Text)
            .ToList();