2

我在较新的 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.*/

我知道我以前用链方法或匿名函数见过这个......我只是不记得我是否想象过整个事情:-)

4

3 回答 3

3

你在想LINQ吗?

var textQuery = words.Select(word => word.ToLower());
于 2009-09-17T23:05:26.527 回答
1

听起来您正在考虑 linq to objects,也许.First()在末尾带有 a 来获取字符串。

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

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

于 2009-09-17T23:05:40.023 回答
1

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

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

因此,像其他答案建议的那样使用 LINQ 对“单词”进行操作,然后使用 String.Join 将它们重新组合成一个字符串。

于 2009-09-17T23:13:22.910 回答