2015-06-06 79 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"; 

(所有檢查省略..)