.Net技术
文章平均质量分 58
loredp
这个作者很懒,什么都没留下…
展开
-
.NET自定义序列化过程
我们知道.NET内置了序列化的过程,但是因为序列化需要通过反射等等操作原创 2014-06-20 13:48:20 · 793 阅读 · 2 评论 -
LocalDataStoreSlot VS CallContext
LocalDataStoreSlot 表示线程槽,表示当前线程原创 2014-11-21 14:03:15 · 697 阅读 · 0 评论 -
单例下的序列化
我们知道单例模式可以有以下几种方式:原创 2014-11-06 15:18:25 · 527 阅读 · 0 评论 -
里氏替换原则在现实中的应用
我记得在之前xx大型的互联网公司,该公司只能算是很伪的互联网公司,以业务为主,非技术指导的公司,所以里面的写业务的人员水平也是参差不齐,代码在不停地重构,没过多久又会发现代码的维护难度在增加,然后又是重构,出现了恶性循环。每次来了新需求,都会头疼得紧,担心需求的改变会对上一个版本有很大的冲击。今天来介绍下该业务代码简单的架构知识。 先介绍下该代码设计的背景知识。因为是app的服务端代码,所原创 2015-04-01 18:28:12 · 1019 阅读 · 0 评论 -
.net中的属性
这篇文章主要是讨论使用属性的必要性做任何事物的分析时,首先是要先给该事物一个定义,属性:是一种可以像字段一样访问数据的方法,或者更精简地说,属性就是方法。相比于字段来说,属性有如下的优势:1.简化代码的编写。当然了,有人说我只用命名一个简单的变量不就可以访问以及赋值了么,的确,但是如果想实现属性所有的功能,比如访问限制,这种情况下可能就得写一些方法代码了。2.对.net框架更好的支原创 2016-01-27 10:07:58 · 510 阅读 · 0 评论 -
readonly与const
我们知道c#中有两种常量的表达方式:readonly与const,但是这两种方式有什么不同呢?在实际的应用中如何去选择使用或者说这两种方式可以用另外一种说法,大家更容易明白:运行时常量与编译时常量。表面上的意思就是:readonly是在运行时才确定的常量,而const是在编译时已经替换成常量。这两种方式有不一样的行为操作,如果说你想性能上有稍微的提升,可以选择编译时常量,但是相对于运行时的产量原创 2016-01-28 10:54:19 · 692 阅读 · 0 评论 -
try catch对程序性能的影响
大家看到这样的标题也许会在想,try catch肯定会影响性能的,但是其实并没有很直接的证据表明trycatch会影响系统的性能,尤其是在托管的环境下,今天就用实际的代码来证明下在不同情况下,代码运行的时间指标。.NET中的异常捕获以及处理的机制都是try catch finally块来完成的,作用分别是异常的检测 捕获以及处理。每个类都会跟一个异常表(exception table) 每原创 2016-02-02 14:48:04 · 1288 阅读 · 0 评论 -
is 与 as
我们知道C#是一种强类型的语言,这样就可以保证在编译的时候,发现类型不匹配的异常。这也说明了,我们应用程序在运行时不会去检查类型的错误。但是,运行时检查类型的错误有时候是不可避免的。在我们的程序中,经常会出现object 的参数,这时我们需要转换成我们要求的类型或者接口。通常我们有两种选择:第一种是直接用as转换或者进行强类型的转换,第二种是先使用is进行类型判断,再使用as转换或者强类型转换。原创 2016-02-01 11:46:22 · 447 阅读 · 0 评论 -
排序算法-堆排序
学习堆排序之前先了解下什么是二叉堆:二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小于或等于)任何一个子节点的键值。2.每个结点的左子树和右子树都是一个二叉堆(都是最大堆或最小堆)。当父结点的键值总是大于或等于任何一个子节点的键值时为最大堆。当父结点的键值总是小于或等于任何一个子节点的键值时为最小堆。一般如果我们用数组来表示堆(即堆的存储),i节点原创 2016-03-30 08:45:28 · 406 阅读 · 0 评论