Me gustaría truncar una cadena de modo que su longitud no sea más larga que un valor dado. Estoy escribiendo en una tabla de base de datos y quiero asegurarme de que los valores que escribo cumplan con la restricción del tipo de datos de la columna.
Por ejemplo, sería bueno si pudiera escribir lo siguiente:
string NormalizeLength(string value, int maxLength)
{
return value.Substring(0, maxLength);
}
Desafortunadamente, esto genera una excepción porque maxLength
generalmente excede los límites de la cadena value
. Por supuesto, podría escribir una función como la siguiente, pero esperaba que algo como esto ya exista.
string NormalizeLength(string value, int maxLength)
{
return value.Length <= maxLength ? value : value.Substring(0, maxLength);
}
¿Dónde está la esquiva API que realiza esta tarea? ¿Hay uno?
StringBuilder
permite truncar acortando la longitud, pero aún necesita realizar la verificación de longitud para evitar ensanchar la cadena.
.Trim()
de una manera que hace que parezca engañoso que muta la cadena: "Elimina todos los caracteres de espacio en blanco iniciales y finales del objeto de cadena actual ".