2009-09-18 2 views
12

は)(参加ジャバスクリプトと同等のthatsのC#の任意の方法は、私の要件が指定されたセパレータを有する単一の文字列に文字列の配列を連結することである..C#のjoin()とtoString()のjavascriptに相当しますか?

var keyStr = keyList.join("_"); 

あります。 jabvascript配列の

と私は、我々は(のtoStringを呼び出すことによってこれを行うことができますJavaScriptで単一の文字列...に私の全体の文字列配列を変換したい)配列の

のC#のtoStringがちょうどタイプを出力します情報。 intのような他の型に対してtoStringを使うと、intの文字列表現を返します。しかし、なぜこれがString配列に実装されていないのですか?それは奇妙なだろうか?

そして

答えて

30

あなたはstring.Join()を使用することができます。

string.Join("_", array); 

や、リストの:

string.Join("_", list.ToArray()); 

単一の文字列に文字列配列を変換まったく同じように行われます。string.Join()で:

string.Join(" ", stringarray); 

Dan Elliottにも、JavaScriptに近い構文に適した使いやすい拡張メソッドがあります。

+0

感謝ヨハネスを。結合は完全に機能しますが、2番目の要件は文字列配列を単一の文字列値に変換することです。 – RameshVel

+1

@Ramesh String.Join( ""、stringArray)またはString.Concat(stringArray)のいずれかを使用できます –

+0

申し訳ありません。 .. 2倍になりました...必要...もっと...コーヒー... – Joey

0

下記のコードを試してください。あなたは文字列配列に機能を追加したい場合は

string[] arr=new string[]{"aa","bb","cc"}; 
string.Join("-", arr); 
2

あなたは、あなたが書くでしょう拡張メソッド

public static class ArrayExtension 
{ 

    public static string AsString(this string[] array, string seperator) 
    { 
    return string.Join(seperator, array); 
    } 
} 

で行うことができます:

var keyStr = keyList.AsString("_"); 
+0

おかげでDan、密接にjavacriptを見て... – RameshVel

関連する問題