如何将List(Long)转换为字符串数组?(VB)

elw*_*lwy 5 vb.net

我想将List(Long)转换为字符串数组.

原因:它是一个数据库ID列表,我想将逗号分隔的字符串传递给存储过程.

我试过这个:

Dim commaDelimitedList As String = String.Join(",", itemIDList.Cast(Of String)().ToArray)
Run Code Online (Sandbox Code Playgroud)

但我显然没有正确使用Cast,因为它抛出异常:System.InvalidCastException:无法将类型为'System.Int64'的对象强制 转换为'System.String'..

有没有办法让Cast为此工作,还是我坚持使用ConvertAll和委托函数?

Fre*_*örk 8

如果你可以使用LINQ,这将做你想要的:

Dim commaDelimitedList  As String = String.Join(",", itemIDList.Select(Function(itemID) itemID.ToString()).ToArray())
Run Code Online (Sandbox Code Playgroud)