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ż maxLengthgeneralnie 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
StringBuilderpozwala 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. ”