将IList <object>转换为List <string> </string> </object>

时间:2013-12-06 14:12:58

标签: vb.net winforms list ilist

我有一个列表(从数据库返回),我有一个组合框,我填充了一个列表,我这样做是因为ComboBox可以填充一系列数据源。

我需要将IList(Of Object)转换为List(Of String)

ObjectToString方法进行了覆盖。

任何人都可以就此提出建议吗?

2 个答案:

答案 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