Chciałbym przekonwertować tablicę ciągów na pojedynczy ciąg.
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
Chciałbym mieć coś takiego jak „Hello World!”
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
string.Join("", test);
var separator = ", ";
string.Join(separator , test);
string.Join(string.Empty, test)
raczej używanie niż używanieempty-paranthesis
.Nieco szybszą opcją niż użycie wspomnianej już
Join()
metody jest metoda Concat () . Nie wymaga tak jak pustego parametru separatoraJoin()
. Przykład:stąd prawdopodobnie szybciej.
źródło
Concat
jest lepiej, w kodzie wewnętrznymJoin
doda separator po każdym elemencie. AleConcat
nie ma takich kodów, jest prostszy i bardziej bezpośredni niżJoin
. To jest najlepsza odpowiedź.Próbować:
co powinno zwrócić łańcuch łączący dwa elementy razem.
""
wskazuje, że chcesz, aby ciągi były połączone ze sobą bez żadnych separatorów.źródło
"Hello "
w pytaniu miał już spację na końcu. Gdyby jeszcze nie było miejsca, miałbyś rację, a użycie go" "
jako separatora miałoby większy sens.Potrzebujesz prostego ciągu znaków.Concat ().
Jeśli potrzebujesz również dodać separator (spacja, przecinek itp.), Powinieneś użyć string.Join ().
Jeśli musisz to zrobić na tablicy ciągów zawierającej setki elementów, niż string.Join () jest lepsza z punktu widzenia wydajności. Po prostu podaj "" (pusty) argument jako separator. StringBuilder może być również używany ze względu na wydajność, ale sprawi, że kod będzie nieco dłuższy.
źródło
Concat
iJoin
są szybsze niżStringBuilder
jeśli masz 4 lub mniej ciągów do połączenia.Aggregate
może być również używany do tego samego.źródło
String.Join
ze względu na wiele dodatkowych ciągów. Przeczytaj stackoverflow.com/questions/217805/…, aby zapoznać się z prawidłowym wariantemAggregate
.źródło
string.Join(" ", array)
(z wyjątkiem twojego dodaje spację na końcu). Dlaczego nie skorzystać po prostu z tego w bibliotece?Wykorzystałem ten sposób, aby przyspieszyć mój projekt:
RichTextBox.Text automatycznie skonwertuje twoją tablicę na ciąg wielowierszowy!
źródło
W przyjętej odpowiedzi, String.Join nie jest najlepszą praktyką w jej użyciu. Należy użyć String.Concat, ponieważ OP zawierał spację końcową w pierwszym elemencie: „Hello” (zamiast używać ogranicznika null).
Jednakże, ponieważ OP poprosił o wynik „Hello World!”, String.Join jest nadal odpowiednią metodą, ale końcowe białe znaki powinny zostać przeniesione do separatora.
źródło
Lubię to:
Możesz także użyć pętli:
źródło