寻找一个简单的查询,使用Linq按x个字符截断文本。
答案 0 :(得分:6)
你的问题不清楚。根据您对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中的IntelliSense没有显示,但扩展方法仍然有效。同样,您可以使用字符串构造函数并将其传递给字符数组,而不是使用Aggregate
。
答案 1 :(得分:2)
您可以使用Select
和Substring
的非常简单的组合将字符串截断为特定长度:
var words = new List<string>();
// fill the list of words
var truncated = words.Select(w => w.Substring(0, 15));
答案 2 :(得分:1)
string raw = raw.ToCharArray().Take(maxLength).Select(x
=> x.ToString()).Aggregate((current,next)
=> current + next);
哪个过于复杂......