• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






Perseverance

做事认真,做人诚信
 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理
上一页 1 ··· 3 4 5 6 7 8 9 10 下一页

2012年7月5日

(转)扩展方法详解
摘要: 一、基础扩展方法使您能够向现有类型“添加”方法,而无需创建新的派生类型、重新编译或以其他方式修改原始类型。扩展方法是一种特殊的静态方法,调用扩展方法与调用在类型中实际定义的方法之间没有明显的差异。扩展方法是可以通过使用实例方法语法调用的静态方法。效果上,使得附加的方法扩展已存在类型和构造类型成为可能。他可以对现有类功能进行扩充,从而使该类型的实例具有更多的方法。扩展方法有助于把今天动态语言中流行的对快速录入支持的灵活性,与强类型语言之性能和编译时验证融合起来。这里先举一个msdn中的例子:下面的示例演示为 System.String 类定义的一个扩展方法。假设我要分析一个字符串,希望得到字符串 阅读全文
posted @ 2012-07-05 14:27 柠茶 阅读(196) 评论(0) 推荐(0)
 
DataContractSerializer类的序列化反序列化规则
摘要: 1:不使用特性(DataContract)的前提下 规则一:对象的公有字段和属性都会参与序列化成xml文件; 规则二:对象所在的名称空间会作为xml文件的命名空间; 规则三:xml文件的节点顺序按照英文字母排序(和对象的公有字段和属性顺序无关); 规则四:如果对象存在继承关系,那么xml文件节点顺序是优先取基类的成员; 规则五:xml文件反序列化成对象时按照xml文件节点的英文字母排序 规则六:如果对象存在继承关系,那么优先反序列化基类;上代码:View Code 1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Linq;4 阅读全文
posted @ 2012-07-05 11:42 柠茶 阅读(1631) 评论(0) 推荐(0)
 

2012年7月2日

(转)C#中“Equals”与“==”的速度比较
摘要: 最初接触C#时就一直疑惑,比较字符串的方法:“Equals”与“==”在比较时性能有什么区别呢?相信这个问题也曾困惑着许多人,那么我们就一起来探讨下:比较一个string是否等于一个值,最初接触C#的人会这么写:string myStr = "value"; if (myStr.Equals("value")) { } if (myStr == "value") { }然后,会有人笑你很菜,得知把要判断的value写在前面性能高些,要这样写:string myStr = "value"; if ("val 阅读全文
posted @ 2012-07-02 18:49 柠茶 阅读(7374) 评论(2) 推荐(3)
 

2012年6月26日

(转)C#中二进制运算在权限验证的应用
摘要: 在我的另一篇文章中[委托在权限验证中的应用](见我的blog: http://blog.csdn.net/curllion/ 或http://spaces.msn.com/members/curllion)提到了一个函数ValidateAuthor,其实我以前见过这样实现的,就是一个权限用一个文本来表示,可能有“修改”、“填写”、“审核”、“删除”等等,这样,对于每个用户,在数据库中,都有一个字段,用来记录这样的权限,某用户权限值可能是“修改|删除|审核”,这样,在查找时,就会比较用户权限值中,有没有包括一个操作的名称。这样验证权限好办,但我弄不明白,权限的赋予与除去是如何实现的。每一个操作的 阅读全文
posted @ 2012-06-26 10:07 柠茶 阅读(652) 评论(1) 推荐(0)
 

2012年6月14日

(转)InstallShield 2009制作集成.NET Framework 2.0 Service Pack 2的安装包
摘要: 1 概要InstallShield 2009安装后Redistributables(可分发组件包)中包括了.Net Framework 2.0 sp1。个别项目要求打包时需要集成.Net Framework 2.0 sp2。下面介绍下手动如何扩展Redistributables,增加自己需要的发布组件包。2 详细过程2.1 获取.Net Framework 2.0 sp2分发组件包当然要去Microsoft的官方网站。http://www.microsoft.com/downloads/details.aspx?FamilyID=5b2c0358-915b-4eb5-9b1d-10e506da 阅读全文
posted @ 2012-06-14 21:48 柠茶 阅读(717) 评论(0) 推荐(0)
 
(转)Installshield 2010 预安装组件和软件
摘要: 使用Installshield2010提供的组件 大家再开发软件产品的时候经常是基于某些软件和类库的,像我们的项目就用到了.Net Framework3.5,mapinfo,sqlserver 2008 express,installer 4.5。那用户要用我们的产品,必须有以上的环境才可以,这些东西当然不会让用户自己去安装啦,需要我们来为用户部署好,这样用户才会觉得你的软件真的很好用,不会觉得麻烦对吧。 以前用Installshield2008的时候,对.Net Framework不支持3.5的,也不支持installer4.5,需要自己在脚本中来检测环境,运行相应的安装程序,这样的坏处.. 阅读全文
posted @ 2012-06-14 21:46 柠茶 阅读(3351) 评论(0) 推荐(1)
 

2012年5月24日

(转)C# const和static readonly区别
摘要: 我们都知道,const和static readonly的确很像:通过类名而不是对象名进行访问,在程序中只读等等。在多数情况下可以混用。二者本质的区别在于,const的值是在编译期间确定的,因此只能在声明时通过常量表达式指定其值。而static readonly是在运行时计算出其值的,所以还可以通过静态构造函数来赋值。明白了这个本质区别,我们就不难看出下面的语句中static readonly和const能否互换了:1. static readonly MyClass myins = new MyClass();2. static readonly MyClass myins = null;3. 阅读全文
posted @ 2012-05-24 11:53 柠茶 阅读(188) 评论(0) 推荐(0)
 

2012年5月23日

(转)C#单例模式详解
摘要: 关于单例模式的一些要点:Singleton模式中的实例构造器可以设置为protected以允许子类派生。 Singleton模式一般不要支持ICloneable接口,因为这可能会导致多个对象实例,与Singleton模式的初衷违背。 Singleton模式一般不要支持序列化,因为这也有可能导致多个对象实例,同样跟Singleton模式的初衷违背。 Singleton模式只考虑到了对象创建的管理,并没有考虑对象销毁的管理。就支持垃圾回收的平台和对象的开销来讲,我们一般没必要对其销毁进行特殊的管理。 多线程的Singleton模式view plaincopy to clipboardprint?p 阅读全文
posted @ 2012-05-23 18:04 柠茶 阅读(1039) 评论(0) 推荐(0)
 
(转)C# 中的 Volatile 关键字 .
摘要: Volatile字面的意思时易变的,不稳定的。在C#中也差不多可以这样理解。编译器在优化代码时,可能会把经常用到的代码存在Cache里面,然后下一次调用就直接读取Cache而不是内存,这样就大大提高了效率。但是问题也随之而来了。在多线程程序中,如果把一个变量放入Cache后,又有其他线程改变了变量的值,那么本线程是无法知道这个变化的。它可能会直接读Cache里的数据。但是很不幸,Cache里的数据已经过期了,读出来的是不合时宜的脏数据。这时就会出现bug。用Volatile声明变量可以解决这个问题。用Volatile声明的变量就相当于告诉编译器,我不要把这个变量写Cache,因为这个变量是可能 阅读全文
posted @ 2012-05-23 18:02 柠茶 阅读(167) 评论(0) 推荐(0)
 

2012年5月17日

(转)Invoke and BeginInvoke
摘要: Invoke and BeginInvoke在Invoke或者BeginInvoke的使用中无一例外地使用了委托Delegate,至于委托的本质请参考我的另一随笔:对.net事件的看法。 一、为什么Control类提供了Invoke和BeginInvoke机制?关于这个问题的最主要的原因已经是dotnet程序员众所周知的,我在此费点笔墨再次记录到自己的日志,以便日后提醒一下自己。1、windows程序消息机制Windows GUI程序是基于消息机制的,有个主线程维护着一个消息泵。这个消息泵让windows程序生生不息。 Windows GUI程序的消息循环 Windows程序有个消息队列,窗体 阅读全文
posted @ 2012-05-17 23:34 柠茶 阅读(193) 评论(0) 推荐(0)
 
上一页 1 ··· 3 4 5 6 7 8 9 10 下一页