Встроенные функции в dotNet 3.0+ с C #? - PullRequest
2 голосов
/ 18 сентября 2009

Я ищу хитрость в новых точечных сетях, где я могу использовать встроенные функции, которые возвращают строковое значение. Вот что у меня есть:

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 ]

3 голосов
/ 18 сентября 2009

Вы думаете о LINQ?

var textQuery = words.Select(word => word.ToLower());
1 голос
/ 18 сентября 2009

Чтобы получить строку из запроса (или любого другого IEnumerable), вы можете использовать String.Join . Пример:

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

Поэтому используйте LINQ, как и в других ответах, предложите оперировать словами, а затем используйте String.Join, чтобы объединить их в строку.

1 голос
/ 18 сентября 2009

Похоже, вы думаете о linq к объектам, возможно, с .First() в конце, чтобы получить строку.

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

Ключом к выполнению всей работы являются выражение lamdba и IEnumerable<T> и связанные с ним методы расширения. Это не ограничивается строками.

...