我想将带有前导空格的可变长度字符串子串到25个或更少字符。我得到了它的工作,但寻找其他方式?
... item.LineString.Trim().Substring(0,
item.LineString.Trim().Length > 25 ? 25 : item.LineString.Trim().Length));
答案 0 :(得分:8)
我会使用Math.Min
:
var trimmed = item.LineString.Trim();
var substring = trimmed.Substring(0, Math.Min(25, trimmed.Length));
答案 1 :(得分:2)
您可以使用以下方式缩短它:
item.LineString.Trim().Substring(0, Math.Min(25, item.LineString.Trim().Length));
答案 2 :(得分:0)
有趣的是,LINQ的Take
方法几乎完全符合您使用SubString
长度逻辑所要完成的任务。虽然我确信其运行时效率不是最优的,但以下方法也可行:
string substring = new string(item.LineString.Trim().ToCharArray().Take(25).ToArray());
我只是想把它放在那里,因为问题是关于"其他方式"并不一定是"最好的方式"。