![](https://img-blog.csdnimg.cn/20201014180756922.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
c#
文章平均质量分 79
玉开
这个作者很懒,什么都没留下…
展开
-
漫谈面向对象设计基石之开闭原则(OCP)
开闭原则的意思是软件实体应该对扩展开发,对修改关闭(Software entities should be open for extension,but closed for modification)。实现开闭原则的途径是抽象,将需要扩展的部分抽象出来,并留出扩展接口。打个比方,比如电脑机箱上有usb的插口,这些插口就是可扩展的部分,我们可以在这些usb插口上插上鼠标,键盘,U盘,还可以插上网银的U盾等等。电脑硬件上对于usb接口的这个设计就是一个符合开闭原则的设计。为什么要遵循开闭原则呢?因为开闭原则可原创 2010-06-29 09:36:00 · 646 阅读 · 0 评论 -
深入理解C#的装箱和拆箱
装箱和拆箱是值类型和引用类型之间相互转换是要执行的操作。 1. 装箱在值类型向引用类型转换时发生2. 拆箱在引用类型向值类型转换时发生光上述两句话不难理解,但是往深处了解,就需要一些篇幅来解释了。我们先看装箱时都会发生什么事情,下面是一行最简单的装箱代码原创 2011-10-18 21:56:01 · 1339 阅读 · 0 评论 -
使用命名管道在winform程序中输出windows service运行状态
最近的工作需要写一个windows服务,定时执行任务。众所周知windows service程序是没有用户界面的,而有时候是需要知道服务正在做什么的。怎么办呢?可否用winform程序显示服务执行状态呢?如何让winform取到windows service进程的消息呢?这个场景原创 2011-08-25 15:23:23 · 1489 阅读 · 0 评论 -
C#基础之数组排序,对象大小比较
从个小例子开始:int[] intArray = new int[]{2,3,6,1,4,5};Array.Sort(intArray);Array.ForEach(intArray,(i)=>Console.WriteLine(i));这个例子定义了一个int数组原创 2011-08-19 08:44:28 · 1006 阅读 · 0 评论 -
在C#中使用SqlDbType.Xml类型参数
在sql server2005以及之后的sql server中引入了Xml数据类型,在C#中使用Xml数据类型需要指定参数类型为SqlDbType,参数值类型需要用SqlXml,如下示例:假定有一种表A,A表有两个字段:ID 类型 int,Data 类型 Xml,我要用C#往原创 2011-08-17 09:14:51 · 1278 阅读 · 0 评论 -
c# checked unchecked 关键字,在需要的时候请记得用他们两位
checked 和 unchecked关键字用来限定检查或者不检查数学运算溢出的;如果使用了checked发生数学运算溢出时会抛出OverflowException;如果使用了unchecked则不会检查溢出,算错了也不会报错。1. 一段编译没通过的代码int a原创 2011-08-09 17:28:15 · 1031 阅读 · 0 评论 -
System.IO系列:局域网内多线程使用命名管道在进程之间通信实例
有关管道的基本用法请看System.IO之使用管道在进程间通信 (System.IO.Pipes使用)。本文介绍命名管道使用实例,文中例子是几个客户端都通过一台服务器获得新生成的int类型id。服务器端功能:当客户端请求一个新的id时,将现有id自增1,然后返回给客户端。原创 2011-08-08 16:29:48 · 1882 阅读 · 0 评论 -
System.IO之使用管道在进程间通信 (System.IO.Pipes使用)
管道的用途是在同一台机器上的进程之间通信,也可以在同一网络不同机器间通信。在.Net中可以使用匿名管道和命名管道。管道相关的类在System.IO.Pipes命名空间中。.Net中管道的本质是对windows API中管道相关函数的封装。使用匿名管道在父子进程之间通信:匿翻译 2011-08-04 09:31:35 · 2150 阅读 · 0 评论 -
.Net那点事儿系列:System.IO之Stream
Stream在msdn的定义:提供字节序列的一般性视图(provides a generic view of a sequence of bytes)。这个解释太抽象了,不容易理解;从stream的字面意思“河,水流”更容易理解些,stream是一个抽象类,它定义了类似“水流”的原创 2011-07-28 10:24:35 · 895 阅读 · 0 评论 -
XSLT介绍
XSL即可扩展的样式表文件。 可以格式化xml的显示,也可以将xml转换成需要的另一种格式。学习XSL必须熟悉XPath。XSL和XPath一样简单强大,容易学习。1. XSL既然可以格式化xml的显示样式,我们先来看如何在xml中引用xsl文件如下代码示例:只需在xml文件的文原创 2011-07-26 09:36:33 · 2995 阅读 · 0 评论 -
XPath语法 在C#中使用XPath示例
XPath可以快速定位到Xml中的节点或者属性。XPath语法很简单,但是强大够用,它也是使用xslt的基础知识。示例Xml: 100 this is a black cat 80 this is a white cat原创 2011-07-25 08:43:05 · 4520 阅读 · 0 评论 -
对象的Xml序列化和反序列化
这篇随笔对应的.Net命名空间是System.Xml.Serialization;文中的示例代码需要引用这个命名空间。为什么要做序列化和反序列化?.Net程序执行时,对象都驻留在内存中;内存中的对象如果需要传递给其他系统使用;或者在关机时需要保存下来以便下次再次启动程序使用就需要原创 2011-07-22 08:54:06 · 2192 阅读 · 0 评论 -
LINQ to XML操作Xml文档
LINQ to XML提供了更方便的读写xml方式..Net中的System.Xml.Linq命名空间提供了linq to xml的支持。这个命名空间中的XDocument,XElement以及XText,XAttribute提供了读写xml文档的关键方法。1. 使用linq t原创 2011-07-21 08:47:53 · 3534 阅读 · 1 评论 -
使用XmlWriter写Xml
假定创建了XmlWriter的实例变量xmlWriter,下文中将使用此实例变量写Xml1.如何使用XmlWriter写Xml文档声明// WriteStartDocument方法可以接受一个bool参数(表示standalone,是否为独立文档)或者不指定参数standalon原创 2011-07-20 20:25:20 · 2144 阅读 · 0 评论 -
使用XmlReader读Xml
XmlDocument和XElement在读取Xml时要将整个Xml文档放到内存中去操作,这样做操作简单,但是很费内存和IO(可能是磁盘IO或者网络IO);而在有些场景下我们必须考虑尽可能节省内存和IO的开销,这时候就该XmlReader和XmlWriter出场了。XmlRead原创 2011-07-20 08:32:11 · 35961 阅读 · 8 评论 -
.Net那点事儿系列:C#操作Xml:通过XmlDocument读写Xml文档
.Net那点事儿系列:C#操作Xml什么是Xml?Xml是扩展标记语言的简写,是一种开发的文本格式。关于它的更多情况可以通过w3组织了解http://www.w3.org/TR/1998/REC-xml-19980210。如果你不知道它,那你就out太多了。.Net是如何处理Xm原创 2011-07-19 08:43:25 · 6652 阅读 · 0 评论 -
如何在c#程序中模拟域帐户进行登录操作
<br />代码加注释:view sourceprint?01usingSystem; 02usingSystem.Collections.Generic; 03usingSystem.Linq; 04usingSystem.Text; 05usingSystem.Security.Principal; 06usingSystem.Runtime.InteropServices; 07usingSystem.IO; 08 09namespaceConsoleApplication3 10{ 11 i原创 2010-06-12 15:12:00 · 1606 阅读 · 0 评论 -
C#语法糖(csharp Syntactic sugar)大汇总
首先需要声明的是“语法糖”这个词绝非贬义词,它可以给我带来方便,是一种便捷的写法,编译器会帮我们做转换;而且可以提高开发编码的效率,在性能上也不会带来损失。这让java开发人员羡慕不已,呵呵。 1. 经过简化的Property 早些时候我们这样声明Propertyprivate string _myName;public string MyName{原创 2010-05-25 10:25:00 · 1389 阅读 · 1 评论 -
c#常用正则表达式,验证邮箱,Url,电话号码等
正则表达式的一些常用的功能集成至该类中[C#]代码public class RegexUtil{ private RegexUtil() { } private static RegexUtil instance = null; /// /// 静态实例化单体模式 /// 保证应用程序操作某一全局对象,让其保持一致而产生的对象 ///转载 2012-11-28 11:01:40 · 1703 阅读 · 0 评论