Đối diện với String.Split bằng dấu phân cách (.net)


96

Có cách nào để làm ngược lại với String.Splittrong .Net không? Nghĩa là, để kết hợp tất cả các phần tử của một mảng với một dấu phân cách nhất định.

Nhận ["a", "b", "c"]và cho "a b c"(có dấu phân cách " ").

CẬP NHẬT: Tôi đã tự tìm ra câu trả lời. Nó là String.Joinphương pháp.


16
Tôi đã quên, tìm kiếm và tìm thấy câu hỏi / câu trả lời này 3 lần trong năm ngoái.
sparks

8
Điều này có thể gây nhầm lẫn, vì LINQ cung cấp string[]một phương thức Tham gia thực hiện một cái gì đó hoàn toàn khác.
yoozer8

Câu trả lời:



10

Bạn có thể sử dụng String.Join:

string[] array = new string[] { "a", "b", "c" };
string separator = " ";
string joined = String.Join(separator, array); // "a b c"

Mặc dù dài dòng hơn, bạn cũng có thể sử dụng StringBuildercách tiếp cận:

StringBuilder builder = new StringBuilder();

if (array.Length > 0)
{
    builder.Append(array[0]);
}
for (var i = 1; i < array.Length; ++i)
{
    builder.Append(separator);
    builder.Append(array[i]);
}

string joined = builder.ToString(); // "a b c"
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.