2015-06-06 99 views
-3

当我想清楚以下数组:使空文本框

userInfo[0] = txtPassword.Text; 
userInfo[1] = txtVoornaam.Text; 
userInfo[2] = txtAchternaam.Text; 
userInfo[3] = txtWoonplaats.Text; 
userInfo[4] = txtPostcode.Text; 
userInfo[5] = txtTelnr.Text; 

我做了以下内容:

for (int i = 0; i < 5; i++) 
{ 
    userInfo[i] = ""; 
} 

这显然是行不通的,当我试试这个:

foreach (string item in userInfo) 
{ 
    item = ""; 
} 

也不起作用。我怎样才能做到这一点毫无疑问:

userinfo[0] = txtPassword; 
+0

那么'用户信息[0] = txtPassword'不会编译。如果控件的内容不是_empty_ – MickyD

+0

'userInfo','userInfo [0] = txtPassword.Text'可能与'userInfo [0] =“”'效果不同。一个'string []'?为什么'userInfo [i] =“”'''不起作用'? – TaW

+0

也许你应该告诉我们什么'userInfo []'被_defined as_ – MickyD

回答

2

如果你要正确对待他们阵状,你需要将它们添加到一个数组,或者说和更好List<TextBox>。做一次你可以遍历它任何或您的需求..

做一次..:

List<TextBox> boxes = new List<TextBox>() 
      { txtPassword, txtVoornaam, txtAchternaam, txtWoonplaats, txtPostcode, txtTelnr}; 

现在你可以在值拔出到字符串数组

string[] myTexts = boxes.Select(x => x.Text).ToArray(); 

..或列表:

List<string> myTexts = boxes.Select(x => x.Text).ToList(); 

也可以清除所有这些:

foreach (TextBox tb in boxes) tb.Text = ""; 

如果需要,你可以通过变量访问List元素:

boxes.Find(x => x == textBox2).Text = "12345"; 

..或通过Name

boxes.Find(x => x.Name == "txtVoornaam").Text = "Jens"; 

(所有检查省略..)