使用linq截断文本
你可以用一个非常简单的Select
和Substring
组合截断字符串一定长度:
var words = new List<string>();
// fill the list of words
var truncated = words.Select(w => w.Substring(0, 15));
string raw = raw.ToCharArray().Take(maxLength).Select(x
=> x.ToString()).Aggregate((current,next)
=> current + next);
这是在复杂...
你写了*而不是使用'string'的'Substring'实例方法?创意,当然,但...圣洁的流血roadkill,蝙蝠侠。 – 2010-10-05 14:03:09
是的 - 我刚刚提到过... – FiveTools 2010-10-05 14:26:18
你的问题还不清楚。基于对Justin's answer您的评论听起来更简单的方式来实现你描述情况如下:
string input = "The quick brown fox jumped over the lazy dog";
string result = new String(input.Take(15).ToArray());
Console.WriteLine(result);
注意,没有必要调用ToCharArray()
因为字符串实现IEnumerable<char>
。 VS2008中的智能感知不会显示,但扩展方法仍然有效。同样,您可以使用字符串构造函数并将其传递给一组字符,而不是使用Aggregate
。
扩展方法也是一个想法!谢谢。 – FiveTools 2010-10-05 14:27:14
请给出更多细节。你一直都不清楚你正在寻找什么样的截断,或者它与LINQ有什么关系。 – 2010-10-05 12:58:53