我有一个带有复选框的 RadComoboBox,我想使用字符串生成器循环遍历复选框。获取该格式的值后: {1,2,3,4} 我想将其转换为该格式的 stringArray (1,2,3,4) 谁能告诉我如何做到这一点?
这是我的代码:
Dim sbPeopleTypes As New StringBuilder()
Dim colGroups As IList(Of RadComboBoxItem) = rcbFilterPersonType.CheckedItems
For Each item As RadComboBoxItem In colGroups
sbPeopleTypes.Append(item.Value + ",")
Next
aspx 代码:
<telerik:RadComboBox runat="server"
CheckBoxes="true"
ID="rcbFilterPersonType"
EmptyMessage="Select Person Type" Enabled="True">
</telerik:RadComboBox>
最佳答案
您可以使用字符串的 Split
方法获取数组,如下所示:
Dim myArray() As String = sbPeopleTypes.ToString.Split(","c)
但是,除非出于其他原因需要使用StringBuilder
,否则最好使用列表,如下所示:
Dim peopleTypes As New List(Of String)()
For Each item As RadComboBoxItem In colGroups
peopleTypes.Add(item.Value)
Next
然后,如果你真的需要它作为数组,你可以像这样转换它:
Dim myArray() As String = peopleTypes.ToArray()
即使您确实需要将其格式化为逗号分隔的字符串,您仍然可以轻松地从列表中构建它,而无需 StringBuilder
,如下所示:
Dim csv As String = String.Join(",", peopleTypes)
或者,由于 RadComboBox.CheckedItems
属性是一个 IList(Of RadComboBoxItem)
,因此您可以使用 Select
LINQ 扩展方法来获取不带 For
循环的列表或数组形式的值,如下所示:
Dim myArray() as String = rcbFilterPersonType.CheckedItems.Select(Function(x) x.Value).ToArray()
关于c# - 在 VB.NET 中将字符串生成器转换为字符串数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20641898/