摘要:
一、概述 当两个进程在进行远程通信时,彼此可以发送各种类型的数据。无论是何种类型的数据,都会以二进制序列的形式在网络上传送。发送方需要把这个对象转换为字节序列,才能在网络上传送;接收方则需要把字节序列再恢复为对象。 把对象转换为字节序列的过程称为对象的序列化。 把字节序列恢复为对象的过程称为对象的反序列化。二、对象的序列化主要有两种用途: 1)把对象的字节序列永久地保存到硬盘上,通常存放在一个文件中; 我们经常需要将对象的字段值保存到磁盘中,并在以后检索此数据。尽管不使用序列化也能完成这项工作,但这种方法通常很繁琐而且容易出错,并且在需要跟踪对象的层次结构时,会变得越来越复杂。可以想象一下编写 阅读全文
摘要:
在跟html+ashx打交道的园友们肯定会发现,这种模式虽然优美,但在开发中会遇到一些难处理的地方。我也不例外,下面是自己在实际开发中总结出来的几条经验,希望跟大家分享,更希望得到大家的建议和更好的解决方法! 问题1:用委托字典代替switch...case。 这个问题是在处理请求时发现的,大家肯定也不愿意在自己的项目中建许多的handler来处理那么多的请求,于是就想到在一个handler里处理多个请求,ajax请求中都加一个action的参数,在handler里根据这个action做相应的处理或返回相应的数据,这里肯定没有人用if...else来判断action,大多数人都会想到用s... 阅读全文
摘要:
在我们写代码的时候可以使用一些小的技巧来使代码变得更加简洁,易于维护和高效。下面介绍几种在C#/Net中非常有用的一些编程技巧。 1、空操作符(??) 在程序中经常会遇到对字符串或是对象判断null的操作,如果为null则给空值或是一个指定的值。通常我们会这样来处理string name = value;if (name == null){ name = string.Empty;} 可以使用三元操作符(?:)对上面对吗进行优化string name = value == null ? string.Empty : value; 这样使代码简洁了不少,但这还不是最简洁的,我们还可以使用... 阅读全文
摘要:
在C#/Net代码精简优化技巧(一)中已经介绍了5个小技巧,本篇将再介绍5个。 1、string.IsNullOrEmpty() and string.IsNullOrWhiteSpace() 在Net2.0中String类型有一个静态方法IsNullOrEmpty,到了Net4.0中String类又增加了一个新的静态方法IsNullOrWhiteSpace。这两个方法看名称也可以知道IsNullOrEmpty是判断空引用和空字符串,而IsNullOrWhiteSpace是判断空引用和字符串中的每一个字符是否是空格。 在有这两个方法之前,我们要进行这样的判断,需要些如下代码public ... 阅读全文
摘要:
& 按位与 && 逻辑与 &、|与&&、||的比较:后者的性能比较好,只要看第一个操作符即可,如果&&的第一个操作数即为false,则不用看第二个操作数,结果直接为false,如果||的第一个操作数为true,则不用考虑第二个操作数,结果直接为true。但&、|的操作数都必须计算到。&、|还可以进行数值的操作,用法:第一个操作数中的每个位都与第二个操作数中相同位置上的位进行比较,得到结果。如:4&5=100&101=1002008-04-21 17:01之所以说相同,是针对他们各自的运算对象来说的。 阅读全文