摘要: 有这样一个场景,在数据库中经常有一些字段是可以为空的,把数据库中的字段映射成c#中的一个对象会出现一些问题,比如:一个人的出生日期是一个值类型DateTime,在数据库中是可以为空的一个字段,当你使用ado.net把它映射成对象的时候,对DateTime属性赋值就变的比较困难了,如果数据库中这个值是NULL,映射的对象要想准确的反映数据库中的字段,那就必须给对象的DateTime赋值为null,但是值类型不能赋值为null,所以才有了可空值类型来解决这一问题。引用类型是可以赋值为null的。但值类型是不能赋值为null的。如果在值类型之后加一个?,那么“普通的值类型”,就变成了一个“可空值类型 阅读全文
posted @ 2014-02-19 21:09 dongqinglove 阅读(941) 评论(0) 推荐(0) 编辑
摘要: 今天花了一整天的时间研究,不知道为什么一看完委托,现在来回顾一下,居然一点都回忆不起来,所以我再重头看下,并且把它写成文章方便以后查看。定义:委托是一个类型(专门声明可以代表替他方法调用的变量)语法:[修饰符]delegate返回类型委托名(参数列表);publicdelegatevoidAgencySaleCar();委托最大的特点就是可以一般化的编程,即使在方法不存在的情况下也可以使用if(委托变量!=null){委托变量();}委托与函数指针的区别:委托安全、委托是较复杂的数据结构可以实现"委托链(多播委托)"指针,就是地址其实在我看来,函数指针就是地址,地址可以任意 阅读全文
posted @ 2014-02-12 18:18 dongqinglove 阅读(227) 评论(0) 推荐(0) 编辑
摘要: 正则表达式以前用过,但是从来没有系统的总结过,今天就正则表达式,及一些细节进行一些总结。正则表达式(RegularExpression):是一个用来匹配包含元字符(通配字符)的一个字符串元字符:基本元字符:.(任意的一个非换行字符)[字符](匹配一个在中括号中的字符)|或(优先级最低)()用来修改优先级,和分组限定元字符:+表示紧跟在前面的字符出现一次到多次{1,}*表示紧跟在前面的字符出现0次到多次{0,}?表示紧跟在前面的字符出现0次到1次{0,1}{n}表示紧跟在前面的字符出现n次{n,}表示紧跟在前面的字符出现n次到多次{n,m}表示紧跟在前面的字符出现n次到m次首尾元字符:^表示必须 阅读全文
posted @ 2014-02-11 00:02 dongqinglove 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 其实早就想写一篇关于流的文章了,但是流这个内容比较多,笔者知道的东西也比较少,在网上找了一些人写的关于流的文章,他们写的还不错。其中《C#温故而知新:Stream篇》7篇还不错,下面把笔者了解到的写出来。关于流的一些概念性的东西笔者就不介绍了,因为经常用大家多少已经了解了。一些相关的类库比如File、FileInfo、Path、Directory、DirectoryInfo类等笔者暂时也不介绍,使用到再说。 文件编码在Windows操作系统中有ANSI编码和Unicode编码之分ANSI默认的gb2312Unicode(两个字节) 小子头的005f5f00 大子头UTF-8就一个汉字有多... 阅读全文
posted @ 2014-02-09 22:40 dongqinglove 阅读(339) 评论(1) 推荐(0) 编辑
摘要: 拷贝:对象一定有一个副本深拷:针对所有级别的类型创建独立的副本浅拷:针对本类型的实例的属性成员进行复制,对象中不包含引用类型成员(除字符串以外)没有浅拷与深拷之分案例:namespace 深拷贝与浅拷贝{ [Serializable] public class MyClass : ICloneable //实现改接口可以很方便的实现浅拷贝 { public string name; public Car car; public object Clone() { return MemberwiseCl... 阅读全文
posted @ 2014-02-09 20:14 dongqinglove 阅读(169) 评论(0) 推荐(0) 编辑
摘要: 什么是序列化:保存一个数据,直接将内存中的数据原封不动的或按照某种特定格式的形式抠出来(这种数据我们人类是无法识别,但计算机可以,而且不需要经过太多转换)序列化定义:二进制序列化(将内存中的对象直接以二进制的形式取出)步骤 ->创建一个文件流 ->确保对象可以被序列化,给类前面加上[Serializable] ->BinaryFormatter ->Serialize()方法 反序列化定义:将文本文件的数据映射成相应的内存数据 方法与步骤与序列化相同,唯一不同的是调用Deserialize方法XML序列化中常用(以后介绍)案例: static void Main(str 阅读全文
posted @ 2014-02-09 19:27 dongqinglove 阅读(204) 评论(0) 推荐(0) 编辑
摘要: 这几天学了不少东西,想来还是应该总结一下,一来自己回顾一下,二来也怕自己忘记,在文章中,有很多东西就是借鉴别人的blog,笔者在这里对他们的无私奉献表示感谢。笔者的语言组织能力有限,如果在文章中出现什么错误,在下面回复即可,谢谢。相信学过.net的人都对.netFramework不陌生吧,这个是学习.net必须要了解的东西,下面笔者就介绍一下.netFramework,如上图,我们平时写的cs文件,经过.NetFramework,最后才和操作系统交互,这样我们的程序才能运行起来,那么我们就很好奇,.NetFrameWork里面到底有什么东西,为什么我们写的cs代码经过编译都变成了xx.dll. 阅读全文
posted @ 2014-02-09 17:17 dongqinglove 阅读(1142) 评论(1) 推荐(0) 编辑