缩短代码添加带条件的字典

Dr.*_*ail 0 c# winforms

我有这个代码:

Dictionary<string, string> items = new Dictionary<string, string>();
if(TextBox1.Text != "")
{
    items.Add(TextBox1.Name, TextBox1.Text);
}
if (TextBox2.Text != "")
{
    items.Add(TextBox2.Name, TextBox2.Text);
}
if (TextBox3.Text != "")
{
    items.Add(TextBox3.Name, TextBox3.Text);
}
Run Code Online (Sandbox Code Playgroud)

它工作正常,但有大约20 TextBox项,我想减少减少.有没有办法缩短它?

Tim*_*ter 5

您可以将TextBox添加到集合中,然后使用LINQ:

TextBox[] allTxt = {TextBox1,TextBox12,TextBox3,...};

Dictionary<string, string> items = allTxt
    .Where(txt => !string.IsNullOrEmpty(txt.Text))
    .ToDictionary(txt => txt.Name, txt => txt.Text);
Run Code Online (Sandbox Code Playgroud)