VB.NET:处理ListItem集合后存入List(Of ListItem)报错,求正确语法
解决ListItem集合转换与处理问题
你需要遍历原removeActiveService集合中的每个ListItem,对Text和Value按要求处理后,创建新的ListItem实例并添加到listRemove集合中,而非直接生成Long类型列表。以下是VB.NET的正确语法:
' 初始化目标集合 Dim listRemove As New List(Of ListItem)() ' 遍历原集合并处理每个项 For Each item As ListItem In removeActiveService ' 处理Text:先替换指定字符串,再分割取第一部分并去除首尾空格 Dim newText As String = item.Text.Replace(serviceRemove, "").Split("-"c)(0).Trim() ' 处理Value:分割取第二部分并去除首尾空格 Dim newValue As String = item.Value.Split("-"c)(1).Trim() ' 创建新的ListItem并添加到目标集合 listRemove.Add(New ListItem(newText, newValue)) Next
关键说明
- 必须创建新的ListItem实例:原ListItem的Text和Value多为只读属性,无法直接修改后复用原对象;
- 规避索引越界风险:如果原字符串可能不含
-,建议先判断分割后的数组长度再取值; - 此写法生成的
listRemove为List(Of ListItem)类型,完全匹配需求,不会出现类型转换错误。
内容的提问来源于stack exchange,提问作者BPines
相关产品推荐
相关产品推荐

