Tôi muốn cắt một chuỗi sao cho độ dài của nó không dài hơn một giá trị đã cho. Tôi đang viết vào một bảng cơ sở dữ liệu và muốn đảm bảo rằng các giá trị tôi viết đáp ứng ràng buộc của kiểu dữ liệu của cột.
Ví dụ, thật tuyệt nếu tôi có thể viết như sau:
string NormalizeLength(string value, int maxLength)
{
return value.Substring(0, maxLength);
}
Thật không may, điều này làm tăng một ngoại lệ vì maxLength
thường vượt quá ranh giới của chuỗi value
. Tất nhiên, tôi có thể viết một hàm như sau, nhưng tôi đã hy vọng rằng một cái gì đó như thế này đã tồn tại.
string NormalizeLength(string value, int maxLength)
{
return value.Length <= maxLength ? value : value.Substring(0, maxLength);
}
API khó nắm bắt thực hiện nhiệm vụ này ở đâu? Có một cái không?
StringBuilder
cho phép bạn cắt ngắn bằng cách rút ngắn độ dài, nhưng bạn vẫn cần thực hiện kiểm tra độ dài để tránh mở rộng chuỗi.
.Trim()
trong một cách mà làm cho nó sai lạc âm thanh như nó đột biến chuỗi: "Loại bỏ tất cả các ký tự trắng-không gian ở đầu và đuôi từ đối tượng String hiện tại. "