2009-09-18 23 views
12

javascript eşdeğer C# thats herhangi bir yöntem var katılmak olduğunu() ..javascript C# içinde join() ve toString() eşdeğeri?

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

Benim gereksinimi verilen ayırıcı ile bir tek dizesine dizeler dizisi uç uca ekleyerek.

Ve biz toString (çağırarak bunu yapabilirsiniz javascript bir tek dize ... içine benim bütün dize dizisi dönüştürmek istedik) jabvascript dizinin bir dizinin

C# toString sadece türünü yazdırır bilgi. Int gibi diğer türlerde toString kullanırsak, int'nin dize olarak temsilini döndürür. Ama bu neden String dizisinde uygulanmadı. Bu garip olmaz mıydı? listeler için,

string.Join("_", array); 

ya:

Ve

cevap

30

Sen string.Join() kullanabilirsiniz

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

tam olarak aynı şekilde yapılır tek bir dize halinde bir dize dizisi dönüştürme: string.Join() ile :

string.Join(" ", stringarray); 

Dan Elliott ayrıca JavaScript'e biraz daha yakın olmak için kullanabileceğiniz güzel bir uzantı yöntemine sahiptir, sözdizimi.

+0

teşekkürler johannes. Join mükemmel bir şekilde çalışır, ancak ikinci gereksinim dizge dizisini tek bir dize değerine dönüştürmektir ... – RameshVel

+1

@Ramesh, String.Join ("", stringArray) veya String.Concat (stringArray) –

+0

'u kullanabilirsiniz Üzgünüz, sizi yanlış yönlendirir. ... iki kere şimdi ... ... daha fazla ... kahve ... – Joey

0

Aşağıdaki kodu deneyin. Eğer bir dize dizisi işlevsellik eklemek istiyorsanız

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

Eğer Sonra yazardı bir uzantısı yöntemiyle

public static class ArrayExtension 
{ 

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

yapabilirdi:

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

teşekkürler Dan, yakından javacript görünüyor ... – RameshVel