[英]How to apply string.Join to Textbox array?
在我的C#WinForm應用程序中,我的窗體上有一個TextBox
數組,如下所示:
[MyTextBox [0]]。 [MyTextBox [1]]。 [MyTextBox [2]]。 [MyTextBox [3]]。 [MyTextBox [4]]
如您所見,有一個分隔符“。” 他們之間。 用戶將在那些TextBoxes
輸入5個不同的值,然后提交它們。 處理時,我希望將所有這5個TextBoxes
收集為一個字符串,並用“。”分隔。 例如,如果用戶輸入
[34]。 [56]。 [78]。 [90]。 [12]
並提交,我想將其作為一個字符串處理: 34.56.78.90.12
。 我當時在想使用string.Join(".", strArray)
會很好,但是我意識到這是TextBox
的數組,而不是string的數組。 要從TextBox
提取文本部分,我必須使用MyTextBox[index].Text
但這顯然不適用於string.Join(".", strArray)
。
現在,我最終編寫了以下代碼:
string[] dataEntered = new string[5];
for(int i=0; dataEntered.Length; i++)
{
dataEntered[i] = MyTextBox[i].Text;
}
string str = string.Join(".", dataEntered);
或者,也可以在循環中使用字符串連接,添加“。” 每次,除了最后一個值之后。
但是這些都很難看,我想知道是否有更好的方法可以實現這一目標。 有人可以給我建議嗎?
那么MyTextBox
是TextBox[]
嗎? 您可以使用LINQ:
IEnumerable<string> alltexts = MyTextBox.Select(txt => txt.Text);
string str = string.Join(".", alltexts);
使用linq:
string str = string.Join(".", MyTextBox.Select(t => t.Text));
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.