Для второго пункта вы можете использовать terms set query
( документ здесь ).
Этот запрос похож на запрос терминов, но вы будете контролировать, сколько терминов должно совпадать.
Вы можете настроить его с помощью сценария следующим образом:
GET /my-index/_search
{
"query": {
"terms_set": {
"codes" : {
"terms" : ["bed_1","bath_1","price_100000-200000"],
"minimum_should_match_script": {
"source": "params.num_terms"
}
}
}
}
}
потребует, чтобы все параметры соответствовали
new Action<int>(x => Console.WriteLine(x))(3);
это не таким образом читаемо, но отвечающее на Ваш вопрос, Вы определенно можете.
Править: просто замеченный Вы отметили его как c# 2.0, ответ выше для 3,5, для 2,0 это было бы
new Action<int>(delegate(int x) { Console.WriteLine(x); })(3);
.Invoke
на самом деле не нужно; можно просто записать:
new Action<int>(x => Console.WriteLine(x))(3);
или для C# 2.0:
new Action<int>(delegate(int x) { Console.WriteLine(x); })(3);
Для создания анонимного метода используют делегата:
delegate(...your arguments...) { ...your code... };
Править: После того, как вопрос был пересмотрен, ответ pablitos более точен.