如何将 string.Join 应用于文本框数组?
How to apply string.Join to Textbox array?
在我的 C# WinForm 应用程序中,我的表单上有一个 TextBox
数组,看起来像:
[MyTextBox[0]]。 [我的文本框 [1]] 。 [我的文本框 [2]] 。 [我的文本框[3]] 。 [MyTextBox[4]]
如您所见,有一个分隔符“.”。他们每个人之间。用户将在 TextBoxes
中输入 5 个不同的值并提交。处理时,我想将所有这 5 TextBoxes
收集为一个字符串,以“.”分隔。例如,如果用户输入
[34]。 [56]。 [78]。 [90]。 [12]
并提交,我想将其作为一个字符串处理:34.56.78.90.12
。
我在想使用 string.Join(".", strArray)
会很好而且优雅,但我意识到这是一个 TextBox
的数组,而不是一个字符串数组。
要从 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));
在我的 C# WinForm 应用程序中,我的表单上有一个 TextBox
数组,看起来像:
[MyTextBox[0]]。 [我的文本框 [1]] 。 [我的文本框 [2]] 。 [我的文本框[3]] 。 [MyTextBox[4]]
如您所见,有一个分隔符“.”。他们每个人之间。用户将在 TextBoxes
中输入 5 个不同的值并提交。处理时,我想将所有这 5 TextBoxes
收集为一个字符串,以“.”分隔。例如,如果用户输入
[34]。 [56]。 [78]。 [90]。 [12]
并提交,我想将其作为一个字符串处理:34.56.78.90.12
。
我在想使用 string.Join(".", strArray)
会很好而且优雅,但我意识到这是一个 TextBox
的数组,而不是一个字符串数组。
要从 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));