2011-01-14 64 views
3

我已經一個ArrayList並加入所有與一個字符串我米使用分離器元件...如何連接ArrayList的元素,將其轉換爲字符串表示形式?

Dim s As String = String.Join(",", TryCast(myArrayList.ToArray(GetType(String)), String())) 

不過,我想知道是否有一個更聰明/更短的方法來得到相同的結果, 或相同的代碼看起來更好......

謝謝你在前進,

最大

+2

任何理由爲什麼你使用ArrayList而不是泛型集合? – 2011-01-14 17:21:17

回答

2

我將使它的ArrayList如擴展方法

public static string ToCsv(this ArrayList array) 
{ 
    return String.Join(",", TryCast(array.ToArray(GetType(String)), String())) 
} 

使用

string csv = myArrayList.ToCsv(); 
4

在Framework 4它是非常簡單的:

var s = string.Join(",", myArrayList); 

在3.5 LINQ的擴展方法:

var s = string.Join(",", myArrayList.Cast<string>().ToArray()); 

這些較短但不智能。

我不知道他們應該如何用VB.NET編寫。

+0

什麼是.NET 4.0使第一個工作? – 2012-08-28 03:57:49

3

我知道這是一個老問題,但因爲我有今天工作了這一點我自己,我想我會發布VB.Net解決方案,我想出了:

Private Function MakeCsvList() As String 
    Dim list As New List(Of String) 
    list.Add("101") 
    list.Add("102") 

    Return Strings.Join(list.ToArray, ",") 
End Function 
相關問題