C#编程要点汇总

要点汇总:

网络通信方面:WCF和socket编程
数据库方面:SQL语言、Linq、EF或者ORM
编程技术方面:泛型、委托、反射、多线程

总结:
泛型:
泛型的价值在于减少重复的逻辑代码,让逻辑相同、对象不同的方法合并在一起,减少代码数量提升效率。
利用好了泛型这个东西可以减轻很大的工作量。泛型限制有几种,一种NEW()对象必须有一个参数为空构造方法。一种Where,对象必须是where后面的对象的继承类或者对象本身。
泛型如果增加了where限制的话,就可以直接实用where后面的对象的方法,而不用利用反射来完成这个动作,节约了开销。

委托:
net里面预定义的两个委托是:Action<>(),有参数无返回值;Func<>(),有参数有返回值;这两个委托可以完成绝大部分的工作了。
可以通过delegate定义一个委托,它和类是同级别的存在,不过可以定义在类当中。
委托和C++里面的方法指针类似,可以引用相应的方法。委托将需要执行的代码和发生的地点分开,让消息传递到更远的地方。
委托拥有BeginInvoke,Invoke,EndInvoke等方法,可以执行拥有回掉方法的方法,实现多线程并行。
事件也以委托的方式存在着,事件发生和事件发生需要执行的代码分离,可以让一个事件在不同的地方拥有不同的执行方案。价值在于扩展轻松。
事件的另外一个价值在于不用利用轮询的方法来完成事件的开发工作,减轻软件或者系统的负担。

反射:
可以通过这个机制在不了解对象的具体情况下,操作对象的方法、属性、字段等内容;
反射是从当前堆中获取保存在其中的对象的属性、名称、方法等内容。

多线程:
多线程目的让每个线程独立工作,后台线程不影响前台线程,加快前台线程的反应速度。
同时并行处理多种任务,让整个软件流畅的运行。
使用多线程的方法:异步委托方法(BeginInvoke、EndInvoke、Async),thread创建;Task创建
委托可以拥有回调方法,thread也有,task没有,但有wait方法
线程池:因为线程切换、创建、销毁占用非常多的资源,所以出现了线程池的说法,若线程在线程池当中,它执行完后并不会销毁而是回收到线程池当中继续使用,避免浪费。
task创建的线程都在线程池当中。

精髓部分Linq
通用型数据查询语句,只要实现了接口 IEnumerable 就可以使用。
通过类似于SQL语句的方法实现复杂的查询操作,让查询显得更加直观漂亮。
减少查询的编译工作量!

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值