查询表达式

 这个特性使得你可以在C#中使用SQL类似风格的语句,也被称作LINQ(语言集成查询)。

  举例来说,你可以这样描述你的数据:

ublic class CoOrdinate
{
 public int x ;
 public int y;
}

  在C#里,你可以像下面一样轻松的声明一个数据库表的逻辑等同式:

// Use Object and collection initializers
Listcoords = ... ;

  现在你的数据可以作为一个collection来实现 IEnumerable ,你可以轻松的像如下方式查询数据:

var filteredCoords =
from c in coords
where x == 1
select (c.x, c.y)

  在以上SQL风格的格式中,"from"、"where"和"select"是查询表达式,用到了C# 3.0的一些特性如匿名类型,扩展方法,隐式类型本地变量等。这样,你可以使用SQL风格的格式,将无联系的数据整合一起来工作。

  每个查询表达式实际上转变为一个C#的调用,如:

where x == 1
  将会转换为:

coords.where(c =>c.x == 1)
  你可以看到,这个看上去很像一个可怕的Lambda表达式和扩展方法。C# 3.0还有其他很多关于它们的查询表达式和规则。

   表达式树

  C# 3.0包含了一个新类型,允许表达式能够当作运行时的数据使用。这个类型,System.Expressions.Expression ,只是一个内存中一个lambda表达式的重新表达。结果是你的代码可以在运行时修改和检查Lambda表达式。

  如下是一个表达式树的例子:

Expressionfilter = () =>Console.WriteLine("Hiya!!") ;
  使用如上的表达式树的方法,你可以使用过滤器变量中的各种属性来检查树的内容。

   结束语

  C# 3.0提供了一些新的特性,使得你可以更轻松的完成一个程序员和架构设计师的工作,同时也保持了程序语言的严谨和清晰的结构。

  C# 3.0目前还处于襁褓中,还将在未来的数月中长大,但是它所能改变的一切,紧靠其强大的后盾.NET框架,它的体系结构和设计模式,值得你的关注。

http://heziji0672.blog.com
http://ancxj.blog.com
http://shangxiong00737.blog.com
http://ki8912.blog.com
http://cangxi4868.blog.com
http://xuji1231.blog.com
http://shanjing8665.blog.com
http://zhe782.blog.com
http://ranzhuida775.blog.com
http://lai6713.blog.com/
http://feitunsi36.blog.com
http://sad8812.blog.com
http://zhaopousha79787.blog.com
http://kasid98.blog.com
http://shimeici184015.blog.com
http://anha7821.blog.com
http://zaiyouy7202.blog.com
http://sadko981.blog.com/
http://rendeng182212.blog.com
http://ki8123.blog.com
http://yixiemi13415.blog.com
http://ki78912.blog.com
http://zhituian1653.blog.com
http://m81231.blog.com
http://qiaogang1659.blog.com
http://hewr81.blog.com
http://aoaode39831.blog.com
http://lusx712.blog.com/
http://keyongzh5221.blog.com
http://ls7121.blog.com
http://congluji2808.blog.com
http://basi7812.blog.com
http://weixia9836.blog.com
http://xuays121.blog.com
http://xiongrenche14.blog.com
http://yuxuanji.blog.com
http://qingma9737.blog.com
http://jua7812.blog.com/
http://shangfei95393.blog.com
http://xias1231.blog.com
http://muliecan7113.blog.com
http://has8121.blog.com
http://congshi2329.blog.com
http://xinahui91.blog.com
http://pinfudui67883.blog.com
http://jzin7891.blog.com
http://renjia1161.blog.com
http://jinliufu.blog.com
http://ganwolun1706.blog.com
http://jinliud12.blog.com
http://yagangxin01050.blog.com
http://miasd712.blog.com
http://xianzh5942.blog.com
http://xiuas81.blog.com
http://liangpanzh00386.blog.com
http://you8121.blog.com
http://naohanba97971.blog.com
http://xibai11.blog.com/
http://zenjiehua3187.blog.com
http://zuqqiubao.blog.com
http://naowengj3291.blog.com
http://kamai412.blog.com
http://weizijing43227.blog.com
http://huangdaxian.blog.com
http://mumenlu860.blog.com
http://maimawz.blog.com
http://huancaol58001.blog.com
http://hdxjsz.blog.com
http://youjipu5744.blog.com
http://lhcqnc.blog.com
http://chenp8205.blog.com
http://usd9812.blog.com
http://fanganf6957.blog.com
http://tsp4887.blog.com
http://jiyouxin8565.blog.com
http://xg140kj.blog.com/
http://xinxia0141.blog.com
http://xg112kj.blog.com/
http://yajia7668.blog.com
http://c6cccc.blog.com
http://chifeila119.blog.com
http://kaijiangjg.blog.com
http://zhaoedui29882.blog.com
http://zhu109kj.blog.com
http://difutu91605.blog.com
http://xg2014k.blog.com
http://benjiyi42440.blog.com
http://sad11211.blog.com/
http://ougangdo774.blog.com
http://fggslt.blog.com
http://xinpanjiu33.blog.com
http://huangdaxianlt.blog.com
http://songsh841.blog.com
http://kj2014jl.blog.com
http://jixiongj0406.blog.com
http://jixiongj0406.blog.com
http://lujiaora89681.blog.com
http://tiesua121.blog.com/
http://cheaos7036.blog.com
http://haungdax.blog.com

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值