我有一个列表(从数据库返回),我有一个组合框,我填充了一个列表,我这样做是因为ComboBox
可以填充一系列数据源。
我需要将IList(Of Object)
转换为List(Of String)
。
Object
对ToString
方法进行了覆盖。
任何人都可以就此提出建议吗?
答案 0 :(得分:2)
如果您有IList(Of Object)
,请执行以下操作:
Dim objects As IList(Of Object) = New List(Of Object)({"test", "test2"})
您可以直接将该列表中的项目添加到ComboBox
,如下所示:
ComboBox1.Items.AddRange(objects.ToArray())
无需先将其转换为List(Of String)
,因为ComboBox
会自动为列表中的每个项目调用ToString
方法。但是,如果您确实需要将其转换为List(Of String)
,则可以这样做:
Dim strings As List(Of String) = objects.Select(Function(x) x.ToString()).ToList()
或者,如果你不想使用LINQ扩展方法,你可以用老式的方式来做,像这样:
Dim strings As New List(Of String)()
For Each i As Object In objects
strings.Add(i.ToString())
Next
答案 1 :(得分:1)
使用linq:
Private Function ConvertToListOfString(lstObject As IList(Of Object)) As List(Of String)
Return lstObject.Select(Function(e) e.ToString()).ToList()
End Function