摘要:
Entity Framework - Func引起的数据库全表查询 使用 Entity Framework 最要小心的性能杀手就是 —— 不正确的查询代码造成的数据库全表查询。 我们就遇到了一次,请看下面的示例代码: //错误的代码Func<QuestionFeed, bool> predicate 阅读全文
摘要:
委托是一种定义方法签名的类型,是对方法的抽象、封装。与委托的签名(由返回类型和参数组成)匹配的任何可访问类和结构中的任何方法都可以分配给该委托,方法可以是静态方法,也可以是实例方法。将一个方法绑定到委托时,C#和CLR允许引用类型的协变性和逆变性。 协变性是指方法的返回类型可以派生自委托的返回类型。 阅读全文
摘要:
委托其实之前早有接触过,但是没有系统的学习过,在工作中也没有主动尝试使用委托。C和C++可以利用函数指针,将可执行的步骤(函数)做为参数传递传递给另一个方法。C#中可以使用委托提供同样的功能。举一个简单的例子,生成订单时通知用户,可能是邮件通知,也可能是短信通知,也可能是其他形式的通知。下面给出一个 阅读全文
摘要:
lambda表达式是C#3.0中引入的比匿名方法更加简洁的一种语法,可用于创建委托或表达式树类型的匿名函数。Lambda表达式本身可划分为两种类型:语句Lambda和表达式Lambda。 表达式Lambda: 要创建lambda表达式,则在lambda运算符 => 的左侧指定输入的参数(如果存在参数 阅读全文
摘要:
目录 # 什么是委托 # 委托声明、实例化和调用 1、声明 2、委托的实例化 3、委托实例的调用 4、委托完整的简单示例 #泛型委托 1、Func委托 2、Action委托 3、Predicate委托 #匿名委托 #Lambda表达式 1、表达式Lambda 2、语句Lambda 3、Lambda的 阅读全文
摘要:
一、什么是泛型 泛型是C#2.0推出的新语法,而是2.0框架升级提供的功能。 我们在编程程序时,经常会遇到功能非常相似的模块,只是它们处理的数据不一样。但我们没有办法,只能分别写多个方法来处理不同的数据类型。有没有一种办法,用同一个方法来处理传入不同种类型参数的办法呢?泛型的出现就是专门来解决这个问 阅读全文
摘要:
1、声明委托 public delegate void DataCallBackEventHandler(string str); 2、按照委托结构(参数和返回值)写一个回调方法 public void DataCallBackEvent(string str) { label1.Text = "委 阅读全文
摘要:
委托概念 c#中的委托概念也就好比律师对象,它是一个类(“委托是类类型”这个事实将在“委托本质”部分进行详细介绍),因为只有类才有对象的概念,这也体现了c#作为一门面向对象语言的特性。 c#中的委托可以理解为函数的一个包装,它使得c#中的函数可以作为参数来被传递,这在作用上相当于c++中的函数指针。 阅读全文