Chciałbym obciąć łańcuch tak, aby jego długość nie była dłuższa niż podana wartość. Piszę do tabeli bazy danych i chcę się upewnić, że wartości, które piszę, spełniają ograniczenie typu danych kolumny.
Na przykład byłoby miło, gdybym mógł napisać:
string NormalizeLength(string value, int maxLength)
{
return value.Substring(0, maxLength);
}
Niestety powoduje to wyjątek, ponieważ maxLength
generalnie przekracza granice ciągu value
. Oczywiście mógłbym napisać funkcję taką jak poniżej, ale miałem nadzieję, że coś takiego już istnieje.
string NormalizeLength(string value, int maxLength)
{
return value.Length <= maxLength ? value : value.Substring(0, maxLength);
}
Gdzie jest nieuchwytny interfejs API, który wykonuje to zadanie? Czy jest jeden
StringBuilder
pozwala obciąć, zmniejszając długość, ale nadal musisz wykonać kontrolę długości, aby uniknąć poszerzenia łańcucha.
.Trim()
w sposób, który sprawia, że myląco brzmi, jakby mutował ciąg: „Usuwa wszystkie wiodące i końcowe białe znaki z bieżący obiekt String. ”