自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

xutao_ustc的专栏

我是一棵秋天的树 -专注于开发中蛋疼的点点滴滴

  • 博客(25)
  • 收藏
  • 关注

原创 jQuery 选择器 变量

<br />$("#"+id)

2011-04-27 11:24:00 1608

原创 C# 如何执行bat文件 传参数

<br />Process p = new Process();string path = ...;//bat路径ProcessStartInfo pi= new ProcessStartInfo(path, ...);//第二个参数为传入的参数,string类型以空格分隔各个参数pi.UseShellExecute = false;pi.RedirectStandardOutput = true;p.StartInfo = pi;p.Start();p.WaitForExit

2011-04-25 18:55:00 11671

原创 Windows 服务

Windows服务是指操作系统可以启动运行的程序。编写一个windows服务至少需要以下三个部分:1.服务程序的主体2.服务安装程序,把服务安装到系统中,完成一些写注册表的操作。3.服务控制程序,用代码控制服务的开关启停。我们来看看第一个部分:做法为:1.创建一个项目,类型为Windows服务。单击ok以后,系统给我们生成了一个模板。一个program.cs和一个Service1.cs。双击Service1.cs会出现一个外观与windows Forms应用程序类似的设计器。双击这个文件,会在右下角出现pr

2011-04-25 13:06:00 772

原创 C# 析构

对象不用的时候,可能会有它占用的资源需要释放(文件句柄,网络连接,数据库连接),为了释放非托管资源,一般有两种方式:1,申明一个析构函数2,在类中执行IDisposable接口public class MyClass { ~MyClass() { Console.WriteLine("xuxu"); } }第一种方式,编译器会把析构函数编译成Finalize(),看来是一种好的地方放置释放资源的地方。但是析构函数具有不确定性,它是在垃圾

2011-04-24 19:12:00 578

原创 模板方法模式

使用继承的时候,要使继承有意义,应该要成为子类的模板,所有的重复应该上升到父类中去,而不是让子类去重复。当我们要完成在某一细节层次一致的一个过程或一系列步骤,但其中某个步骤在更详细的层次上实现可能不同时,我们通常考虑用模板方法模式。当不变的行为和可变的行为在方法的子类实现中混合在一起的时候,不变的行为会在子类中重复出现。class Program { static void Main(string[] args) { Template

2011-04-24 16:35:00 370

原创 索引器

<br />索引器的格式为  类型 this[类型 参数]{get;set;}   其中类型参数的类型可以多变,也可以有多个参数<br /> <br /> <br />class Program { static void Main(string[] args) { Test test = new Test(); Console.Write(test[1,1]); Console.Re

2011-04-24 11:20:00 451

原创 yield用法

class Program { static void Main(string[] args) { Test test = new Test(); foreach (var item in test) //对应于GetEnumerator { Console.WriteLine(item); } fo

2011-04-24 00:02:00 3448

原创 jQuery live方法

<br />2-- live  这个方法类似于bind,是bind的加强版,如例子:<br /><body> <div class="clickme"> Click here </div></body><br />$('.clickme').bind('click', function() { // Bound handler called.});<br />但是假如在这个bind之后,新增了一个元素<br />$('body').append('<div cla

2011-04-21 18:26:00 560

原创 jQuery each方法

1--  each方法,这个方法的作用是对一个集合实施遍历,并对每一个元素进行某种操作。有两种写法: 如下所示$(".sel").each( function(i, val) { alert($(val).text()); } ); 或者$.each($(".sel"), function(i, val) {

2011-04-21 18:09:00 518

原创 设计模式 抽象工厂

抽象工厂类似于工厂方法,只不过是创建多种产品,比如显卡分为三星的,华硕的,东芝的。而声卡也分为三星的,华硕的,东芝的,那么我们可以创建一个抽象工厂,它的子类是三星工厂,华硕工厂,东芝工厂,每个工厂有两个方法,分为生产自己品牌的显卡和声卡。在运行的时候,创建一个ConcreteFactory实例,那么具体的工厂再创建具有特定实现的产品对象,也就是说,为创建不同的产品对象,客户端应该使用不同的具体工厂。最大的好处在于可以方便的交换产品系列,在一个应用中只要初始化的时候出现一次,只要改变具体的工厂即可使用不同的产

2011-04-17 14:13:00 464

原创 工厂方法模式

让我们来回头看看简单工厂模式,看看它的优缺点:优点:简单工厂的最大优点在于工厂类中包含了必要的逻辑判断,根据客户端的选择条件动态实例化相关的类,对于客户端来说,去除了与具体产品的依赖。对于计算器来说,客户端可以不用去管该用哪个类的实例,只要把+传给工厂,工厂自动给出了相应的实例,客户端只要去做运算就可以了,不同的实例会实现不同的运算。缺点:如果我们要添加或者删除某一种算法,就要找到工厂方法,删除相应的if-else或者添加if-else。破坏了开放-封闭原则。现在我们来看看工厂方法是怎么实现的。class

2011-04-17 13:07:00 439

原创 设计模式思想

1.单一职责:就一个类而言,应该仅有一个引起它变化的原因。职责要单一。否则如果一个代码块完成了超过一件的事情,意味着这段代码的移植性受到了影响,因为一次移植就打包移动了两段逻辑。而且不稳定,因为可能任何一个需要改动都会动这段代码块。软件设计真正要做的许多内容,就是发现职责并把那些职责相互分离。如果你能想到多于一个的动机去改变一个类,那么这个类就有多于一个的职责,应相互分离。

2011-04-16 22:41:00 1693

原创 设计模式 简单工厂

如果我们写一个计算器的算法。我们可能这么写class Program { static void Main(string[] args) { Console.Write("请输入第一个数字:"); string num1 = Console.ReadLine(); Console.Write("请输入第二个数字:"); string num2 = Consol

2011-04-16 22:09:00 378

原创 开机 小键盘 关闭打开

打开注册表编辑器,找到HKEY_USERS/.DEFAULT/ControlPanel/Keyboard,将它下面的 InitialKeyboardIndicators的键值改为“2”,退出注册表编辑器,重新启动计算机,你就会发现数字小键盘的灯不再熄灭了。反之,InitialKeyboardIndicators的键值改为“1”,退出注册表编辑器,重新启动计算机,你就会发现数字小键盘的灯不再亮了。

2011-04-12 18:51:00 467

原创 C# 文件写

FileStream fs = new FileStream(sf.FileName, FileMode.Create);//实例化一个StreamWriter-->与fs相关联StreamWriter sw = new StreamWriter(fs);//开始写入sw.Write(...);

2011-04-12 17:25:00 374

原创 web 项目中的路径问题

<br />HttpRuntime.AppDomainAppPath为程序运行时的实际路径<br /> <br /> <br />C#取得Web程序和非Web程序的根目录的N种取法<br />几种方法如下:<br />非Web程序<br />1.AppDomain.CurrentDomain.BaseDirectory //浏览器安装路径<br />2.Environment.CurrentDirectory<br />3.HttpRuntime.BinDirectory<br />The

2011-04-12 15:37:00 1708

原创 Linq to xml 读取xml文件

<br /><?xml version="1.0" encoding="utf-8" ?><UIConfig Count="1"> <workflow name="OilInbound"> <activity name="Started"> <Input> <Page></Page> <Method></Method> </Input> <Brief> <Page>Oi

2011-04-12 00:03:00 2999

原创 比较器 排序

<br />class Program { static void Main(string[] args) { Data[] array = new Data[] { new Data() { a = 1 }, new Data() { a = 3 }, new Data() { a = 2 } }; Array.Sort(array,new MyComparer()); foreac

2011-04-10 20:57:00 806

原创 关于微软Workflow foundation 中的Tracking Service的一些理解

做项目的时候,有这样一个要求,把对象传入作为HandleExternalEventActivity的事件参数的一部分传入workflow,然后在其中改变它的某一个property的值。  但是发现这样一个问题,就是对象作为事件参数的一部分传入workflow是要被序列化的,而相当于复制了一份对象导致了里面所做的修改无法反映到外面,无奈,只有想办法从workflow中拿到什么信息,然后通过这个拿到的值在外面修改这个属性的值。但是,但是发现从workflow中拿到一个property值居然是如此的麻烦。到网上找

2011-04-06 15:41:00 837

原创 C#3.0新特性

using System;using System.Collections.Generic;using System.Linq;using System.Text;namespace ConsoleApplication1{ class Program { static void Main(string[] args) { Person person = new Person() { ID = 1, Nam

2011-04-05 11:14:00 412

原创 第一个 NHibernate 程序

NHibernate程序的配置一直是一个很让人郁闷的问题.今天下午实验NHibernate程序,终于实现了写入数据库的操作。现在在此记录过程中遇见了很多问题。都会一一阐述。1.下载NHibernate 3.1.0GA bin.2.建立一个普通的控制台程序,加入必须的dll和动态加载的dll,以castle为例。Castle.Core.dll,NHibernate.ByteCode.Castle.dll3.建立数据库表,数据库名字叫TEST,表名为person4.编写entity类5.编写这个

2011-04-02 17:45:00 887

原创 【各大软件公司.NET工程师笔试压轴题】------不得不看

http://www.cnblogs.com/ziyouyong/archive/2009/12/28/1633895.html

2011-04-01 14:51:00 364

原创 IIS在XP上无法安装的问题

<br />如果说提示你安装什么光盘之类的,八成是因为你的系统是盗版系统,其中的IIS程序被删除了,从网上下载了IIS的安装包,再到添加删除程序里面,按照先前的安装步骤,下载的东西(先解压)找到解压后的目录,它会自动找到需要的文件。可能会先后3次左右让你找某些文件。就可以了。<br /> <br />下载地址:<br />http://www.orsoon.com/soft/7748.html

2011-04-01 14:48:00 382

原创 安装SqlServer时候发现的问题(带有reporting service的高级版本)

<br />如果出现了sqlncli.msi的问题,那么到添加删除程序里面,将SQL NATIVE Client卸载并重新运行安装文件即可。<br />如果遇见了msxml6r.dll的问题,那么直接无视即可。

2011-04-01 14:40:00 634

原创 C# 序列化 复制

由于值类型和引用类型在赋值上的不同。在Clone一个对象的引用类型的成员时,一般只是简单的赋值对对象的引用。此时原有的对象和新赋值的对象会同时引用同一个成员对象。这种对象Clone的方法一般称为浅赋值或浅表复制。在大多数情况下浅赋值并不是我们希望的Clone方式。为了实现深度复制,我们就必须遍历有相互引用的对象构成的图,并需要处理其中的循环引用结构。这无疑是十分复杂的。幸好借助.Net的序列化和反序列化机制,可以十分简单的深度Clone一个对象。原理很简单,首先将对象序列化到内存流中,此时对象和对象

2011-04-01 14:32:00 878

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除