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);