簡體   English   中英

如何將string.Join應用於文本框數組?

[英]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);

或者,也可以在循環中使用字符串連接,添加“。” 每次,除了最后一個值之后。

但是這些都很難看,我想知道是否有更好的方法可以實現這一目標。 有人可以給我建議嗎?

那么MyTextBoxTextBox[]嗎? 您可以使用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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM