ling中,sql写法的"Let"关键字,用lambda如何表示?

泛用人形代码复制机 2013-12-30 07:45:59
比如
static void Main(string[] args)
{
string[] strings=
{
"A penny saved is a penny earned.",
"The aaxly sdj",
"the pa is no"
};

var query =
from sentence in strings
let words = sentence.Split(' ')//用空格分割成数组
from word in words
let w = word.ToLower()//把每个字母小写
where w[0] == 'a' || w[0] == 'e'
select word;
foreach (var s in query)
{
Console.WriteLine(s);
}
Console.ReadLine();
}


我试着用lambda写法写了下,在let这里遇到困难了?其中需要降维,用select貌似搞不定啊.
...全文
406 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
exception92 2013-12-31
  • 打赏
  • 举报
回复
引用 7 楼 sj178220709 的回复:
[quote=引用 4 楼 duanzi_peng 的回复:] [quote=引用 3 楼 sj178220709 的回复:] 好吧,果然一发帖,又找到方法了... 自结:

 var query2 =
                strings.Select(a => a.Split(' '))
                    .SelectMany(b => b.Where(c => c.ToLower()[0] == 'a' || c.ToLower()[0] == 'e'));
分不给一楼,谁来接分!!!
我来了。。。。。。 顺便告诉你,是表达式翻译成sql语句,然后发给sql引擎进行的查询。[/quote] sql引擎?linq to object也是吗?[/quote] 是的。
  • 打赏
  • 举报
回复
引用 4 楼 duanzi_peng 的回复:
[quote=引用 3 楼 sj178220709 的回复:] 好吧,果然一发帖,又找到方法了... 自结:

 var query2 =
                strings.Select(a => a.Split(' '))
                    .SelectMany(b => b.Where(c => c.ToLower()[0] == 'a' || c.ToLower()[0] == 'e'));
分不给一楼,谁来接分!!!
我来了。。。。。。 顺便告诉你,是表达式翻译成sql语句,然后发给sql引擎进行的查询。[/quote] sql引擎?linq to object也是吗?
  • 打赏
  • 举报
回复
还以为你要ParameterExpression numParam = Expression.Parameter 这种构建Lamb树的代码呢。。。
exception92 2013-12-31
  • 打赏
  • 举报
回复
linq 中的的确确存在let关键字!!!!!
exception92 2013-12-31
  • 打赏
  • 举报
回复
引用 3 楼 sj178220709 的回复:
好吧,果然一发帖,又找到方法了... 自结:

 var query2 =
                strings.Select(a => a.Split(' '))
                    .SelectMany(b => b.Where(c => c.ToLower()[0] == 'a' || c.ToLower()[0] == 'e'));
分不给一楼,谁来接分!!!
我来了。。。。。。 顺便告诉你,是表达式翻译成sql语句,然后发给sql引擎进行的查询。
  • 打赏
  • 举报
回复
好吧,果然一发帖,又找到方法了... 自结:

 var query2 =
                strings.Select(a => a.Split(' '))
                    .SelectMany(b => b.Where(c => c.ToLower()[0] == 'a' || c.ToLower()[0] == 'e'));
分不给一楼,谁来接分!!!
  • 打赏
  • 举报
回复
不是说linq的sql写法 最终都是翻译成lambda写法么? 我还以为两者是完全等同的, 语法还是有不同么?
本拉灯 2013-12-30
  • 打赏
  • 举报
回复
表示不懂,太高级了。linq中没有let这东西,你还是降一档来写吧

8,497

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧