在linq表达式中内联lambda
本文关键字:lambda linq 表达式 | 更新日期: 2023-09-27 18:26:32
我需要帮助在LINQ表达式中创建内联/多行lambda。
List<myObject> someList = domainModel.someMethod();
Array result = (from r in someList
select new SelectListItem
{
Text = r.Text,
Value = r.Value.Select(r2=> { /* <<< Not sure how to "call it" */
string outputValue = "";
/* ** How do I pass in (access) this row inside here?
For example.... ** */
outputValue = myMethod(r.Text, r.Value);
/* ** Can use this records values like this? */
//Do a bunch of data massaging...
return outputValue; //Return modified string
}).ToString()
}).ToArray();
我意识到我可以创建一个私有方法并调用它,但这更多的是为了提供信息——当使用linq来形成返回集时,如何使用内联函数。
对于匿名的内联转换,请尝试以下操作:
Array result = someList.Select(t => new SelectListItem
{
Text = t.Text,
Value = t =>
{
/* some transformation logic */
}
}).ToArray();