tôi tin rằng các loại câu trả lời bạn đang tìm kiếm sẽ trông như thế này:
var x = new string[] {"car", "Collection", "Limited", "stackoverflow" };
var output = x.Select(word => String.Join("", word.Take(5).ToList()));
Biến "đầu ra" chứa kết quả :
car
Colle
Limit
stack
a nd chuỗi "xe" không ném một ngoại lệ.
Nhưng trong khi tham gia và Take (5) hoạt động, nó thường đơn giản hơn nhiều để sử dụng, như đã được đề xuất trong câu trả lời khác,
subString = word.Substring(0,Math.Min(5,word.Length));
Mã thứ hai là do con người dễ đọc hơn và nhẹ, mặc dù có chắc chắn là một yếu tố mát mẻ nhẹ để sử dụng LINQ trên một chuỗi để lấy năm ký tự đầu tiên, mà không cần phải kiểm tra độ dài của chuỗi.
Bạn nhận được ngoại lệ vì ô tô chỉ dài 3 ký tự và bạn đang yêu cầu SubString gồm 5 ký tự. –
vâng, tôi biết. Tình hình phức tạp hơn nhiều, và điều này tôi đã mô tả cho bạn có một vấn đề lớn nhất mà tình huống phức tạp này :) – user278618
Thật thú vị như LINQ (và tôi thực sự nghĩ nó thật tuyệt), cách sử dụng nó tốt hơn/dễ đọc hơn hơn vòng lặp foreach "cũ kỹ"? – JMarsch