Заданная строка -
var string = "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Aenean in vehicula nulla. Phasellus libero dui, luctus quis bibendum sit amet";
1.Первый сценарий
var maxlenght = 15;
var shortString =(string .Length > maxlenght ) ? string.Substring(0,maxlenght ) + "..." : string;
Вывод:"Lorem ipsum dol ...";
2.Второй сценарий
var shortString =(string .Length > maxlenght ) ? string.Substring(0, string.IndexOf(" ", 15)) + "..." : string;
Вывод:"Lorem ipsum dolor ...";
, если вы хотите, чтобы последнее слово было полным, тогдавторой сенарио лучший ...
теперь это прекрасно работает ...
public static string GetShortTitleForDisplay(string title, int noOfCharacter)
{
var shortTitle = title;
if (title.Length <= noOfCharacter) return shortTitle;
var pos = title.IndexOf(" ", noOfCharacter, StringComparison.Ordinal);
if (pos > 0)
shortTitle = title.Substring(0, pos) + " ...";
return shortTitle;
}