Я б хотів обрізати рядок таким, щоб його довжина не була довшою заданої величини. Я пишу в таблицю бази даних і хочу переконатися, що значення, які я записую, відповідають обмеженням типу даних стовпця.
Наприклад, було б непогано, якби я міг написати таке:
string NormalizeLength(string value, int maxLength)
{
return value.Substring(0, maxLength);
}
На жаль, це створює виняток, оскільки maxLength
загалом перевищує межі рядка value
. Звичайно, я міг би написати таку функцію, як наступна, але сподівався, що щось подібне вже існує.
string NormalizeLength(string value, int maxLength)
{
return value.Length <= maxLength ? value : value.Substring(0, maxLength);
}
Де знаходиться невловимий API, який виконує це завдання? Чи є такий?
StringBuilder
дозволяє врізати, скорочуючи довжину, але все одно потрібно перевірити довжину, щоб уникнути розширення рядка.
.Trim()
таким чином, що це вводить в оману звук, як він мутує рядок: "Видаляє всі провідні та кінцеві символи пробілів з поточний об'єкт String. "