【C#学习】31委托,Lambda表达式,LINQ

委托

1.什么是委托?

委托是类类型,是一种特殊的类,它表现在:
(1)功能特殊:不是反映现实事物,而是 “包裹” 着一些方法,通过委托实例【间接调用】方法;委托是方法的封装器/包装器;程序上下文固定,但在某个关键部分,调用哪个函数是不确定的,又不想让函数之间产生紧耦合关系,就可用委托来进行间接/可替换调用

(2)声明方法特殊

在这里插入图片描述

2.怎么使用委托?

在这里插入图片描述

3.泛型委托

(1)Action<>委托,Func<>委托
见上节

(2)自定义泛型委托
在这里插入图片描述
在这里插入图片描述

Lambda表达式

1.方法与Lambda表达式之间的关系

Lambda表达式声明:
(1)匿名方法
(2)InLine方法:在调用的时候才去声明的方法(随调用,随声明)

2.把一个Lambda表达式赋值给一个委托类型的变量

把一个Lambda表达式赋值给一个委托类型的变量,是未来非常常用的语法,可理解为Lambda表达式求值完之后是一个委托类型的实例
在这里插入图片描述

3.把一个Lambda表达式"喂"给一个委托类型的参数

函数的形参本身也是一种变量,如果一个函数具有委托类型的参数,在调用该方法时,是否可以把Lambda表达式作为实参进去呢?
当然可以
在这里插入图片描述

LINQ

LINQ:.NET Language Integrated Query

  • Language:指C#,VB,F#等
  • Query:查询(多是数据库)
  • Integrated:在没有LINQ之前,如果想要查询数据库,必须要用SOL sever代码,不会就去学;有了LINQ之后,程序员在进行一些不是很复杂的数据库查询操作时(不止数据库查询),就不必再去专门学习SOL sever,运用LINQ,在程序运行时,它会把查询逻辑所用的 C#代码 翻译成 SQL sever 代码,然后传到远端的SQL中,把查询出来的东西形成一组对象,让我们来操作对象,这个过程就是 Integarted

但是利用LINQ性能会有所降低,所以还是很建议掌握 SQL sever

发布了32 篇原创文章 · 获赞 3 · 访问量 1103

猜你喜欢

转载自blog.csdn.net/weixin_44813932/article/details/104115091
今日推荐