2009-09-18 8 views
12

jest jakiś sposób, w C# ów równoważnych javascript przyłączenia() ..javascript odpowiednik join() i toString() w języku C#?

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

My wymogiem jest do łączenia się łańcuchów w tablicy w jednym ciągu z danego separatora.

i chciałem przekonwertować całą moją tablicę ciąg na jeden ciąg ... w javascript Możemy to zrobić poprzez wywołanie toString() z jabvascript tablicy

C# toString tablicy tylko drukuje typ Informacja. Jeśli użyjemy toString na innych typach, takich jak int, to zwraca ciąg znaków reprezentujący int. Ale dlaczego nie zostało to zaimplementowane w tablicy String. Czy to nie dziwne ??

I

Odpowiedz

30

Można użyć string.Join():

string.Join("_", array); 

lub na listach:

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

Konwersja tablicy ciągów w jeden ciąg znaków odbywa się dokładnie w ten sam sposób: Z string.Join() :

string.Join(" ", stringarray); 

Dan Elliott również ma fajną metodę rozszerzenia, której można użyć, aby być trochę bliżej JavaScript, składniowo.

+0

thanks Johannes. Łączenie działa idealnie, ale moim drugim wymaganiem jest zamiana tablicy łańcuchów na wartość pojedynczego ciągu ... – RameshVel

+1

@Ramesh możesz użyć String.Join ("", stringArray) lub String.Concat (stringArray) –

+0

Przepraszamy, źle Cię odczytałeś. .. dwa razy już ... potrzebuję ... więcej ... kawy ... – Joey

0

Wypróbuj poniższy kod.

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

jeśli chcesz dodać funkcjonalność do tablicy ciągów można zrobić z metodę rozszerzenia

public static class ArrayExtension 
{ 

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

Potem piszesz:

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

dzięki Dan, wygląda dokładnie javacript ... – RameshVel

Powiązane problemy