Apa cara paling efisien untuk menggabungkan string?
StringBuilderkasus penggunaan dapat ditemukan di sini .
String.Formatpada steroid. Yang mana, kinerja bijaksana, sedikit lebih lambat di satu liners daripada +dan String.Concat, tetapi jauh lebih baik daripada itu, meskipun lebih lambat daripada StringBuilder, di beberapa panggilan. Secara praktis, perbedaan kinerja sedemikian rupa sehingga, jika saya harus memilih hanya satu cara untuk menggabungkan, saya akan memilih interpolasi string menggunakan $... Jika dua cara, kemudian tambahkan StringBuilderke kotak alat saya. Dengan dua cara itu Anda sudah siap.
String.Joinjawaban di bawah ini tidak melakukan +keadilan dan, secara praktis, cara yang buruk untuk string concatenate, tetapi kinerja sangat cepat bijaksana. Jawabannya menarik. String.Concatdan String.Joinkeduanya dapat bekerja pada array, tetapi String.Joinsebenarnya lebih cepat. Rupanya, String.Joincukup canggih dan lebih dioptimalkan daripada String.Concat, sebagian karena beroperasi mirip dengan StringBuilderyang menghitung panjang string pertama dan kemudian membangun string yang diuntungkan dari pengetahuan ini menggunakan UnSafeCharBuffer.
String.Joinjuga membutuhkan membangun sebuah array yang tampaknya tidak efisien sumber daya kan? ... Ternyata itu +dan String.Concatmembangun array untuk konstituen mereka. Akibatnya, secara manual membuat array dan memberi makan itu String.Joinrelatif lebih cepat ... namun, StringBuildermasih mengungguli String.Joindalam setiap cara praktis sementara $hanya sedikit lebih lambat dan lebih cepat di string panjang ... belum lagi bahwa itu canggung dan jelek untuk digunakan String.Joinjika Anda memiliki untuk membuat array untuk itu di tempat.