2011-01-14 10 views
3

I「は、同じ結果を得るために賢く/短くする方法がある場合はしかし、私は知っているだろうArrayListのVEのと私が使用してmは1つの文字列内のセパレータとそのすべての要素を結合するために...ArrayListの要素を文字列表現に変換する方法を教えてください。

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

、 か良く見える同じコード...

は、私はそれArrayListなどの拡張メソッドになるだろう

マックス

+2

何らかの理由なぜ汎用コレクションの代わりにArrayListを使用しているのですか? –

答えて

2

、事前にありがとうフレームワーク4では

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

使用

string csv = myArrayList.ToCsv(); 
4

それは本当に簡単です:LINQの拡張メソッドと3.5で

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

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

これらの短くても賢くない。

VB.NETでどのように記述すればよいか分かりません。

+0

.NET 4.0では、最初の機能は何ですか? –

+0

'String.Join(String、Object [])'は.NET Framework 4で導入されました。 – mgronber

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 
関連する問題