带有C#的dotNet 3.0+中的内联函数?

时间:2009-09-17 23:02:09

标签: c# .net-3.5 inline-method

我正在寻找新的dotnet中的技巧,我可以使用返回字符串值的内联函数。这就是我所拥有的:

var split = new[] { " " };
var words = SearchTextBox.Text.Trim().Split(
              split, 
              StringSplitOptions.RemoveEmptyEntries);
var textQuery = /*inlinefunction that operates on words array and returns a string.*/

我知道我之前看过这个可能有链式方法或匿名函数...... 我不记得我是否想象了整件事: - )

3 个答案:

答案 0 :(得分:3)

你在想LINQ吗?

var textQuery = words.Select(word => word.ToLower());

答案 1 :(得分:1)

听起来你正在考虑对象的linq,也许最后用.First()得到一个字符串。

var textQuery = words.Where(w => w.Length > 5).First();

完成所有工作的关键是lamdba表达式和IEnumerable<T>以及它的相关扩展方法。它不仅限于字符串。

答案 2 :(得分:1)

要从查询(或任何其他IEnumerable)中获取字符串,您可以使用String.Join。 示例:

string result = String.Join(" ", textQuery.ToArray());

所以使用LINQ就像其他答案建议对'words'进行操作一样,然后使用String.Join将它们重新组合成一个字符串。