gpt4 book ai didi

c# - 在 VB.NET 中将字符串生成器转换为字符串数组

转载 作者:行者123 更新时间:2023-12-02 04:41:59 24 4
gpt4 key购买 nike

我有一个带复选框的 RadComoboBox,我想使用 String Builder 遍历复选框。获得该格式的值后:{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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com