Strings kürzen

Will man einen String kürzen (z.B. Teaser oder für ne DropDown-List) kann man es sich einfach machen und den String in der entsprechenden Datenbankabfrage via

cast(myColumn AS nvarchar(116))

kürzen. Dummerweise schneidet diese Vorgehensweise auch Wörter mitten im Satz ab. Etwas eleganter ist daher diese Methode

private string cut_longString(string longString)
        {
            if (longString.Trim() != string.Empty)
            {
                if (longString.Length > 116)
                {
                    longString = longString.Substring(0, 116);
                    int poslastSpace = longString.LastIndexOf(" ");
                    if (poslastSpace > -1 && poslastSpace < 116)
                        longString= longString.Substring(0, poslastSpace);

                    longString+= " …";
                }
            }
            return longString;
        }

Dabei wird der String nach 116 Zeichen abgeschnitten. Dann wird geprüft, wo sich das letzte Leerzeichen befindet (wir wollen ja kein Wort mitten drin trennen) und der String nochmal bis zu dieser Stelle abgeschnitten. Damit es ersichtlich ist, das hier etwas abgeschnitten wurde, hängen wir noch ein "…" hinten dran. Fertig :)