Find Textboxes != "" 将它们转移到标签中,每个标签之间有一个 ","
Find Textboxes != "" Transfer them to a label with a "," between each
我正在寻找解决方案
我有几个 TexBoxes
我想在有信息时获取信息,并将它们插入标签中,每个标签之间有一个“,”。
我想到了 Foreach 的解决方案:
List<TextBox> test = new List<TextBox>() { Test1, Test2, Test3, Test4, Test5, Test6 };
if (test != null)
{
test .ForEach(("," + Result.Content.ToString());
}
但是他没有工作。
请任何机构帮助我?
您可以 select 文本框中值不为空的内容,然后用 string.join 将它们连接在一起。然后您必须将标签的内容更新为该值。它看起来像这样。
var textBoxes = new List<TextBox>() { Test1, Test2, Test3, Test4, Test5, Test6 };
var values = textBoxes.Select(x => x.Text).Where(x => !string.IsNullOrEmpty(x));
ResultLabel.Content = string.Join(',', values);
使用 Join 连接字符串和一些 linq
var ls = new List<TextBox>()
{
new TextBox() { Text = "test1" },
new TextBox() { Text = "test2" },
new TextBox() { Text = "test3" }
};
var concat = string.Join(",", ls.Select(x=>x.Text));
Console.WriteLine(concat);
我正在寻找解决方案 我有几个 TexBoxes 我想在有信息时获取信息,并将它们插入标签中,每个标签之间有一个“,”。 我想到了 Foreach 的解决方案:
List<TextBox> test = new List<TextBox>() { Test1, Test2, Test3, Test4, Test5, Test6 };
if (test != null)
{
test .ForEach(("," + Result.Content.ToString());
}
但是他没有工作。 请任何机构帮助我?
您可以 select 文本框中值不为空的内容,然后用 string.join 将它们连接在一起。然后您必须将标签的内容更新为该值。它看起来像这样。
var textBoxes = new List<TextBox>() { Test1, Test2, Test3, Test4, Test5, Test6 };
var values = textBoxes.Select(x => x.Text).Where(x => !string.IsNullOrEmpty(x));
ResultLabel.Content = string.Join(',', values);
使用 Join 连接字符串和一些 linq
var ls = new List<TextBox>()
{
new TextBox() { Text = "test1" },
new TextBox() { Text = "test2" },
new TextBox() { Text = "test3" }
};
var concat = string.Join(",", ls.Select(x=>x.Text));
Console.WriteLine(concat);