work hard work smart

专注于Java后端开发。 不断总结,举一反三。
  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

随笔分类 -  D.C#

摘要:1、序列化定义:将对象转换为容易传输的格式的过程。例如,可以序列化一个对象,然后使用 HTTP 通过 Internet 在客户端和服务器之间传输该对象。反之,反序列化根据流重新构造对象。在此过程中,先将对象的公共字段和私有字段以及类的名称(包括类所在的程序集)转换为字节流,然后再把字节流写入数据流。在随后对对象进行反序列化时,将创建出与原对象完全相同的副本2、使用序列化的原因:将对象的状态保存在存储媒体中以便可以在以后重新创建出完全相同的副本;按值将对象从一个应用程序域发送至另一个应用程序域。例如,序列化可用于在 ASP.NET 中保存会话状态,以及将对象复制到 Windows 窗体的剪贴板中 阅读全文

posted @ 2011-11-03 13:51 work hard work smart 阅读(10589) 评论(2) 推荐(0) 编辑

摘要:C#中e.Handle是什么意思 取消事件举个例子:private void TextBox_KeyPress(object sender, KeyPressEventArgs e){ e.Handled = true;}将 Handled 设置为 true,以取消 KeyPress 事件 只要程序运行到 e.Handle=true; 就退出。 阅读全文

posted @ 2011-10-26 10:33 work hard work smart 阅读(4211) 评论(0) 推荐(0) 编辑

摘要:1、首先在项目属性—>生成->“允许不安全代码”勾选2、使用方式 第一种:函数前加unsafe 第二种:在代码的外面加unsafe{}; 如: unsafe static void TestPtrInCS() { { int* array = stackalloc int[10]; for (int i = 0; i < 10; i++) { array[i] = i; Cons... 阅读全文

posted @ 2011-10-13 16:53 work hard work smart 阅读(278) 评论(0) 推荐(0) 编辑

摘要:C# 对XML基本操作包括读取节点的数据,添加节点。读取节点属性,修改节点属性等。具体如下:XML文件:文件在MyDocument文件夹下<?xml version="1.0" encoding="utf-8"?><PersonF xmlns="" Name="(test)work hard work smart!"> <person Name="Person1"> <ID>1</ID> <Name>XiaoA</Na 阅读全文

posted @ 2011-10-10 18:19 work hard work smart 阅读(12609) 评论(0) 推荐(1) 编辑

摘要:FlagsAttribute属性在enum中的应用 我看了Effective C#一书中的Item 8 : Ensure That 0 Is a Valid State for Value Types时提到了Flags属性在enum中的应用,于是就查了一下资料,写了一点关于这个的体会 .Net C#中枚举的声明格式如下所示:[attributes] [modifiers] enum identifier [:base-type] {enumerator-list} [;]FlagsAttribute属性就是枚举类型的一项可选属性。它的主要作用是可以将枚举作为位域处理(P.S. C#不支持位域) 阅读全文

posted @ 2011-10-08 16:36 work hard work smart 阅读(275) 评论(0) 推荐(0) 编辑

摘要:用法一、Checked与Unchecked 对于因为整数类型参与算术操作和类型转换时产生的“溢出异常”——System.OverflowException,在某些算法来讲不算真正的“异常”,相反这种溢出常常为程序所用。C#通过引入checked和unchecked关键字来控制这种特殊情况的需求。它们都可以加于一个语句块前(如:checked{……}),或者一个算术表达式前(如:unchecked(x+y)),其中加checked标志的语句或表达式如果发生算术溢出,则抛出System.OverflowException类型的异常,而加unchecked标志的语句发生算术溢出时,则不... 阅读全文

posted @ 2011-10-08 16:20 work hard work smart 阅读(853) 评论(0) 推荐(0) 编辑

摘要:目录:1、??运算符使用2、GetEnumerator方法3、ResourceManager.GetString方法获得Resources的字符。4、获得Settings文件的字符。一、??可能是一个被遗忘的运算符,很少看到有人用它,它的用法很简单却很实用:variable ?? defaultValue相当于variable == null ? defaultValue : variable有了它,一行便能搞定Lazy Evaluation了:使用??之前:Code highlighting produced by Actipro CodeHighlighter (freeware)http 阅读全文

posted @ 2011-10-08 15:05 work hard work smart 阅读(19578) 评论(0) 推荐(0) 编辑

摘要:由于这几年一直热衷于.NET技术,但由于自己项目很忙,也许是自己很懒,所以没能写出好的博文,但养成了每天浏览博客园文章的习惯。转眼间即将扎根五年,收获颇多,但很多时候难免会浪费很多时间在闲逛上,所以找到了一些比较好的文章,这样可以供以后查阅(毕竟收藏夹不是万能,重装电脑就玩完了),也方便学习更多他人经验。感谢这些博文的作者和博客园精华集的整理者,同时希望博客园以后能继续这样归类,方便检索。也祝博客能蒸蒸日上,希望大家能多共享一些经典文章!(收藏)《博客园精华集》WEB分册(收藏)《博客园精华集》Sharepoint分册(收藏)《博客园精华集》JavaScript(共213篇)(收藏)《博客园. 阅读全文

posted @ 2011-08-19 12:24 work hard work smart 阅读(223) 评论(0) 推荐(1) 编辑

摘要:由于最近在做重构的项目,所以对重构又重新进行了一遍学习和整理,对31天重构最早接触是在2009年10月份,由于当时没有订阅Sean Chambers的blog,所以是在国外的社区上闲逛的时候链接过去的。记得当时一口气看完了整个系列并没有多少感觉,因为这些基本上项目都在使用,只是我们没有专门把它标示和整理出来,所以也没有引起多大的重视。现在突然接手这个重构项目,由于团队成员技术和经验参差不齐,所以有必要专门整理一个重构的纲要,当然这个系列也非常适合做新系统的代码规范参考,只要有代码的地方,这个重构规范就很有价值。周末也不想出去闲逛,因为在刚到这个美丽的城市,没有亲戚或者朋友,所以才能静下心来两天 阅读全文

posted @ 2011-08-19 10:33 work hard work smart 阅读(336) 评论(0) 推荐(0) 编辑

摘要:一、获取当前文件的路径1. System.Diagnostics.Process.GetCurrentProcess().MainModule.FileName 获取模块的完整路径,包括文件名。2. System.Environment.CurrentDirectory 获取和设置当前目录(该进程从中启动的目录)的完全限定目录。3. System.IO.Directory.GetCurrentDirectory() 获取应用程序的当前工作目录。这个不一定是程序从中启动的目录啊,有可能程序放在C:\www里,这个函数有可能返回C:\Documents and Settings\ZYB\,或者C. 阅读全文

posted @ 2011-08-15 12:04 work hard work smart 阅读(274) 评论(0) 推荐(0) 编辑

摘要:动态链接库 (DLL) 在运行时链接到程序。为说明如何生成和使用 DLL,请看以下方案:MathLibrary.DLL:为库文件,其中包含运行时要调用的方法。此例中,DLL 包含两个方法:Add 和 Multiply。Add.cs:为源文件,其中包含 Add(long i, long j) 方法。该方法返回参数之和。包含 Add 方法的 AddClass 类是命名空间 UtilityMethods 的成员。Mult.cs:为源文件,其中包含 Multiply(long x, long y) 方法。该方法返回参数之积。包含 Multiply 方法的 MultiplyClass 类也是命名空间 U 阅读全文

posted @ 2011-07-20 14:54 work hard work smart 阅读(410) 评论(0) 推荐(0) 编辑

摘要:NET框架在Microsoft.Win32名字空间中提供了两个类来操作注册表:Registry和RegistryKey。这两个类都是密封类不允许被继承。下面我们分别来介绍这两个类。 Registry类提供了7个公共的静态域,分别代表7个基本主键(其中两个在XP系统中没有)分别是: Registry.ClassesRoot 对应于HKEY_CLASSES_ROOT主键 Registry.CurrentUser 对应于HKEY_CURRENT_USER主键 Registry.LocalMachine 对应于 HKEY_LOCAL_MACHINE主键 Registry.User 对应于 HK... 阅读全文

posted @ 2011-07-19 23:16 work hard work smart 阅读(1252) 评论(0) 推荐(0) 编辑

摘要:本人在.Net下学习 XML 的过程中,对如何完成 XML 文档的读写操作进行了简单的总结,遂与大家分享。这是一篇入门级别的文章,高手可以置之脑后,或高屋建瓴的指点一下,不胜感激! ^_^一 .Net框架中与XML有关的命名空间System.Xml包含了一些和XML文档的读写操作相关的类,它们分别是:XmlReader、XmlTextReader、XmlValidatingReader、XmlNodeReader、XmlWriter、XmlTextWriter 以及 XmlNode(它的子类包括:XmlDocument、XmlDataDocument、XmlDocumentFragment)等 阅读全文

posted @ 2011-07-19 21:57 work hard work smart 阅读(1117) 评论(0) 推荐(0) 编辑

摘要:一、为什么使用委托【引用CSDN】(1)在写类的时候,根本就不能确定要调用哪个对象的方法:例如,你把自己的一个对象上的方法挂在微软的textbox 的一个事件上。微软在写textbox时根本就不可能知道这个事件发生时,需要调用哪个对象的哪个方法,只有你自己去指定说需要调什么方法,并且以委托的方式挂在相应的事件上。微软在写textbox的事件时,唯一能确定的是这个事件的格式,或者说这个事件需要调用的方法的格式,类似于 button1_click(object sender, EnentArgs e) 等等。 只要是按照这个类型写的方法,都能被挂在这个事件上,并且在事件发生时,方法会被调用。这只是 阅读全文

posted @ 2011-05-09 22:40 work hard work smart 阅读(5395) 评论(0) 推荐(3) 编辑

摘要:1、弱引用可以让您保持对对象的引用,同时允许GC在必要时释放对象,回收内存。对于那些创建便宜但耗费大量内存的对象,即希望保持该对象,又要在应用程序需要时使用,同时希望GC必要时回收时,可以考虑使用弱引用。2、弱引用在引用对象的同时仍然允许对该对象进行垃圾回收。3、实际存在的是一个对象,可以当n个来使用4、以下是msdn中的内容 公共语言运行库“垃圾回收”机制回收分配给对象的无法访问的(即“不可到达的”)内存。如果对对象的所有引用变得无效(例如,将那些引用设置为空引用(Visual Basic 中为 Nothing)),则该对象成为不可到达的。 垃圾回收将调用对象的 Finalize ... 阅读全文

posted @ 2011-05-04 13:20 work hard work smart 编辑