Mặc định in mảng bằng vòng lặp foreach với Console.WriteLine sẽ in mỗi phần tử trên một dòng (dọc). Để in ngang, dùng string.Join() để nối các phần tử bằng dấu phân cách.
Ví dụ: In mảng int ngang
int[] array = { 50, 100, 150, 200, 250, 300, 350, 400 };
Console.WriteLine(string.Join(" ", array));
// Kết quả: 50 100 150 200 250 300 350 400
Mã nguồn hoàn chỉnh
using System;
using System.Linq;
using System.IO;
class Program
{
static void Main()
{
int[] array = new int[] { 50, 100, 150, 200, 250, 300, 350, 400 };
Console.WriteLine(string.Join(" ", array));
}
}
Kết quả
50 100 150 200 250 300 350 400
Các biến thể Join
| Phân cách | Code | Kết quả |
|---|---|---|
| Khoảng trắng | string.Join(" ", arr) | 1 2 3 |
| Dấu phẩy | string.Join(", ", arr) | 1, 2, 3 |
| Dấu chấm phẩy | string.Join(";", arr) | 1;2;3 |
| Newline | string.Join(Environment.NewLine, arr) | 1\n2\n3 |
| Rỗng | string.Join("", arr) | 123 |
Với kiểu phức tạp
var people = new[] { new { Name = "A", Age = 10 }, new { Name = "B", Age = 20 } };
string names = string.Join(", ", people.Select(p => p.Name)); // "A, B"
Lưu ý
string.Jointự động gọiToString()trên mỗi phần tử.- Phần tử
nullđược xử lý như chuỗi rỗng. - Hiệu suất tốt - cấp phát một chuỗi kết quả duy nhất.
- Đối với mảng rất lớn, cân nhắc
StringBuilderthủ công hoặc streaming.