Saya ingin mengubah array string menjadi string tunggal.
string[] test = new string[2];
test[0] = "Hello ";
test[1] = "World!";
Saya ingin memiliki sesuatu seperti "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)
daripada menggunakanempty-paranthesis
.Opsi yang sedikit lebih cepat daripada menggunakan penggunaan metode yang telah disebutkan
Join()
adalah metode Concat () . Itu tidak memerlukan parameter pembatas kosong sepertiJoin()
halnya. Contoh:karenanya kemungkinan lebih cepat.
sumber
Concat
lebih baik, dalam kode bagian dalamJoin
, itu akan menambahkan pemisah setelah setiap item. TetapiConcat
tidak memiliki kode seperti itu, lebih sederhana dan lebih langsung daripadaJoin
. Ini adalah jawaban pertama.Mencoba:
yang harus mengembalikan string yang menyatukan dua elemen.
""
menunjukkan bahwa Anda ingin string digabungkan bersama tanpa pemisah apa pun.sumber
"Hello "
dalam pertanyaan sudah memiliki ruang tambahan. Jika ruang itu belum ada di sana, maka Anda akan benar, dan menggunakan" "
sebagai pemisah akan lebih masuk akal.String.Compat () sederhana adalah yang Anda butuhkan.
Jika Anda juga perlu menambahkan seperator (spasi, koma dll) maka, string.Join () harus digunakan.
Jika Anda harus melakukan ini pada array string dengan elemen hundered daripada string.Join () lebih baik dengan titik kinerja performace. Berikan argumen "" (kosong) sebagai pemisah. StringBuilder juga dapat digunakan untuk kinerja, tetapi akan membuat kode sedikit lebih lama.
sumber
Concat
danJoin
lebih cepat daripadaStringBuilder
jika Anda memiliki 4 string atau kurang untuk digabungkan.Aggregate
bisa juga digunakan untuk hal yang sama.sumber
String.Join
karena beberapa string ekstra dibangun. Silakan baca stackoverflow.com/questions/217805/… untuk varian yang tepatAggregate
.sumber
string.Join(" ", array)
(kecuali Anda menambahkan ruang tambahan). Mengapa tidak menggunakan saja yang ada di perpustakaan?Saya menggunakan cara ini untuk membuat proyek saya lebih cepat:
RichTextBox.Text akan secara otomatis mengubah array Anda menjadi string multiline!
sumber
Dalam jawaban yang diterima, String.Join bukan praktik terbaik per penggunaannya. String.Compat seharusnya digunakan karena OP menyertakan spasi tambahan di item pertama: "Halo" (alih-alih menggunakan pembatas nol).
Namun, karena OP meminta hasil "Hello World!", String.Join masih merupakan metode yang tepat, tetapi spasi spasi tambahan harus dipindahkan ke pembatas sebagai gantinya.
sumber
Seperti ini:
Anda juga dapat menggunakan loop:
sumber