当然,必须有很多方法来优化以下代码,我必须确保很多文本框都不是空的,然后读取它们的值:
if (foo1.Text.Length != 0 & bar1.Text.Length != 0) { output.Text += myStrings[i] + " / " + foo1.Text + " / " + bar1.Text; } if (foo2.Text.Length != 0 & bar2.Text.Length != 0) { output.Text += myStrings[i] + " / " + foo2.Text + " / " + bar2.Text; } if (foo3.Text.Length != 0 & bar3.Text.Length != 0) { output.Text += myStrings[i] + " / " + foo3.Text + " / " + bar3.Text; } if (foo4.Text.Length != 0 & bar4.Text.Length != 0) { output.Text += myStrings[i] + " / " + foo4.Text + " / " + bar4.Text; } if (foo5.Text.Length != 0 & bar5.Text.Length != 0) { output.Text += myStrings[i] + " / " + foo5.Text + " / " + bar5.Text; } if (foo6.Text.Length != 0 & bar6.Text.Length != 0) output.Text += myStrings[i] + " / " + foo6.Text + " / " + bar6.Text; if (foo7.Text.Length != 0 & bar7.Text.Length != 0) { output.Text += myStrings[i] + " / " + foo7.Text + " / " + bar7.Text; } if (foo8.Text.Length != 0 & bar8.Text.Length != 0) { output.Text += myStrings[i] + " / " + foo8.Text + " / " + bar8.Text; } if (foo9.Text.Length != 0 & bar9.Text.Length != 0) { output.Text += myStrings[i] + " / " + foo9.Text + " / " + bar9.Text; } if (foo10.Text.Length != 0 & bar10.Text.Length != 0) { output.Text += myStrings[i] + " / " + foo10.Text + " / " + bar10.Text; }
rix0rrr.. 9
我会将重复的元素放在数组中,然后循环遍历它们.
TextBox[] foos = new TextBox[] { foo1, foo2, foo3, /* etc */ }; TextBox[] bars = new TextBox[] { bar1, bar2, bar3, /* etc */ }; for (int i = 0; i <= 10; i++) if (foos[i].Text.Length != 0 && bars[i].Text.Length != 0) output.Text += myStrings[i] + "/" + foos[i].Text + bars[i].Text;
当然,如果元素确实按顺序命名,则可以通过查找表单的Controls集合中的控件来填充数组,名称为"foo"+ number.ToString().
我会将重复的元素放在数组中,然后循环遍历它们.
TextBox[] foos = new TextBox[] { foo1, foo2, foo3, /* etc */ }; TextBox[] bars = new TextBox[] { bar1, bar2, bar3, /* etc */ }; for (int i = 0; i <= 10; i++) if (foos[i].Text.Length != 0 && bars[i].Text.Length != 0) output.Text += myStrings[i] + "/" + foos[i].Text + bars[i].Text;
当然,如果元素确实按顺序命名,则可以通过查找表单的Controls集合中的控件来填充数组,名称为"foo"+ number.ToString().
我将循环遍历这些TextBox所在的Controls集合,然后仅对TextBox进行过滤,并进行检查和连接.
我也强烈建议使用StringBuilder而不是+ =.