- 博客(35)
- 资源 (243)
- 收藏
- 关注
原创 C#反射的Assembly的简单应用
反射(Reflection)是.NET中的重要机制,通过反射,可以在运行时获得.NET中每一个类型(包括类、结构、委托、接口和枚举等)的成员,包括方法、属性、事件,以及构造函数等。还可以获得每个成员的名称、限定符和参数等。有了反射,即可对每一个类型了如指掌。如果获得了构造函数的信息,即可直接创建对象,即使这个对象的类型在编译时还不知道。Assembly就是反应反射的一种应用,它定义和加载程序集
2011-11-30 20:46:00 11629
原创 C#对access数据库压缩
在项目中有时候会用到Access数据库,那么,你是否发现数据库进行INSERT,UPDATE几次之后,占用空间会变大,其实并没有存多少数据。当这种情况时,你应该对它进行压缩处理了。压缩方法有两种,一种是用数据库自带的功能手动压缩,另一种在程序中压缩。1、手动压缩。如图所示,便可进行压缩。2、程序中压缩 程序压缩需要调用一个dll(Interop.JRO.dll),网上都可以下
2011-11-30 16:31:00 6820 1
原创 C#删除文件夹
我们知道在c#中如果一个文件夹中有内容的话,直接使用Directory.Delete(文件夹);是删不掉的,那么如何进行删除?下面这个两个方法可以帮助你。1、采用递归的方式,先删除文件夹中的文件,然后删除空文件夹。public void DeleteFolder(string deleteDirectory) { if (Directory.Exists(deleteDir
2011-11-29 22:41:45 13885 1
原创 C#中DataRow的初始化
在程序中经常使用DataRow来保存一些数据,完成传值的操作,这时形成一些DataRow的对象,可是用List或Datable将其组织起来。那么如何初始化这一个DataRow呢?我们知道,DataRow是DataTable的组件,而且在MSDN上可以看到DataRow的构造函数是protected类型的,它只能在内部进行构造,单独的实例化,DataRow row = new DataRow ()是
2011-11-28 21:56:27 20824
原创 windowns 7 启动IE8老是显示设置弹出框问题
win7系统启动IE8的时候老是弹出设置框,每次设置了结果下次还是弹出来,改了几次注册表,也改了IE工具选项依然不起作用,最后终于找到了一个方法。在“运行”中执行gpedit.msc,弹出组策略窗口,或者用别的方式进入也可以,然后依次:用户配置——管理模板——Windows 组件——Internet Explorer,右边的列表中把的“阻止执行首次运行自定义设置”这项设置为“已启用”。再重
2011-11-27 23:43:27 1836
原创 C#如何读写和创建INI文件
在做项目过程中,有时需要保存一些简单的配置信息,可以使用xml,也可以使用INI文件。下面是C#中读取INI的方法,相信大部分朋友都使用过这种方式。INI文件的存储方式如下,[section]key=valuekey=value读取写入方法, [DllImport("kernel32")] private static extern long
2011-11-27 20:42:18 72064 8
原创 C#中汉字数字、汉字拼音的转换
1、汉字数字相互转换public static string ChineseTONumber(string chineseStr){ string numStr = "0123456789"; string chineseStr = "零一二三四五六七八九"; char[] c = chineseStr.ToCh
2011-11-26 20:28:05 7961 1
原创 C#如何执行存储过程
以Oracle为例,其它数据库仅改变数据库对象就可以。下面是带参数的,不带参数的话paramete为null即可。参数对应 public static int UploadStartCloseSoftInfo(string[] args) { OracleParameter parameter1 = new OracleParam
2011-11-25 22:06:17 1977
原创 读书笔记12:观察者模式
1、概念定义了一种一对多的依赖关系,让多个观察者对象同时监听某一主题对象,这个主题的状态发生变化是就通知所有的观察者对象,是这些观察者自动更新自己。2、角色观察者(Observer)—观察者有一个更新自己状态的方法,当它观察的那个主题的装太发生了变化,主题会通知这些观察者,观察者接到通知后更新自己的状态。所以观察者有一个Update()方法。主题(Subject)—主题包含多个观察
2011-11-24 17:21:49 1572
原创 读书笔记11:建造者模式
1、概念将一个复杂对象的构建与它的表示分离,使得同样的构建过程可以创建不同的表示。2、角色产品(Product)——根据不同建造者建造的结果;抽象建造者(Builder)——包含详细的建造步骤;指挥者(Director)——安排如何建造,如何安排步骤的先后顺序;具体的建造者——根据不同的需求,实现Builder的步骤,每一步骤如何实现是不同的,但是Builder中的所有步骤
2011-11-23 20:30:50 1534
原创 C#如何使用数据库
数据库,在我们开发项目中那是最常见的了,无论复杂的项目、还是简单的项目,只要涉及数据的操作(增删改查),都会用到数据库。当然使用的数据库的种类根据项目的需求不同,也是不同的。在我所做的项目中就是用过ACCESS 2000、SQL Server 2000、Oracle 10g,因此简单总结下c#如何使用数据库的。程序执行sql语句(包括单条sql,多条sql,存储过程,函数等等)大体有三个步骤:连接
2011-11-22 10:31:46 27271
原创 .net framework 2.0 安装包下载url
有时候.NET程序安装时提示“初始化失败” 之类的,一般就是没.net环境。今天有用户的程序出问题了,网上下载了好几个.net 2.0的安装包,安装都不行。于是找到了这个网址:http://www.microsoft.com/downloads/zh-cn/details.aspx?familyid=5B2C0358-915B-4EB5-9B1D-10E506DA9D0F&displaylang=
2011-11-21 16:27:53 4109
原创 读书笔记10:外观模式
1、 概念为子系统中的一组接口提供一个一致的界面,此模式定义了一个高层接口,该接口使子系统更加容易使用。2、 模型 public class ModularA { public void ModularAMethod() { Console.WriteLine("A模块的方法。"); }
2011-11-21 11:36:09 1660 3
原创 读书笔记9:面向对象设计原则
单一职责原则 就一个类而言,应该仅有一个引起它变化的原因。职责即为“变化的原因”。 开放封闭原则 软件实体(类、模块、函数等)应该是可以扩展的,但是不可修改。对于扩展是开放的,对于更改是封闭的。关键是抽象,将一个功能的通用部分和实现细节部分清晰的分离开来。理氏替换原则 子类型必须能替换掉他们的基本类型。依赖倒置原则 抽象不应该依赖于细节。细节应该依赖于抽象。程序中所有的
2011-11-20 20:35:49 1446
原创 WINDOWS 7 家庭普通版升级旗舰版
在控制面板里或者开始菜单里打开 Windows Anytime Upgrade 就可以升级了以下是升级的密钥TG664-TJ7YK-2VY3K-4YFY6-BCXF4MVG64-RQDVY-KB9RM-MX9WT-MW824TDTY2-6HJ49-46PCK-6HY88-KQXXXFKDJ2-RCXKD-TFW4H-2PTGK-MMMH8H67R8-4HCH4-WGVKX-
2011-11-19 22:38:44 1828 1
原创 c#如何使用webservice、存储过程及存储过程的创建(简单模仿类似QQ统计用户在线时间为例)
在这个小应用中,要用到webservice,因此简单介绍一下webservice。在实际应用中从客户端传送信息至服务端,使用webservice是一个不错的方法,它是一种构建应用程序的普遍模型,可以在任何支持网络通信的操作系统中实施运行。NET平台内也建立了对Web Service的支持,包括Web Service的构建和使用。NET Framework本身就全面支持Web Service,包括服
2011-11-18 17:15:15 4511
转载 c#调用oracle存储过程
CREATE OR REPLACE PACKAGE pkg_tableTypeIS type Tabletype is ref cursor; PROCEDURE SP_CPZD ( CPNO IN VARCHAR2, STATUS IN VARCHAR2, t_sql out Tabletype )
2011-11-17 22:03:08 4826
原创 Oracle存储过程的格式
存储过程在程序中是常用的,在项目中我也经常写一些,但是犯了一个错误是,我老是把sql语句的过程,写成一长串sql语句,然后按正常的sql运行。因此造成代码过长,而且数据库一有改动就要改程序。 例如,两个表table1,table2,table1的主键作为table2的外键,要插入数据,就有string sql ="declare cid number;begi
2011-11-17 21:54:40 4412
原创 读书笔记8:模板方法模式
1、 概念 定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类不改变算法的结构也可以重定义某些算法的特定步骤。2、 模型 模板方法模式在编程中是经常用到的,就不做详细解释了。常见模型如下:using System;using System.Collections.Generic;using System.Text;namespac
2011-11-16 17:23:32 1450
原创 读书笔记7:原型模式
今天刚看了原型模式,刚一开始还真没弄明白这个模式想干嘛,因为一直都在使用clone方法,我觉得到处深度clone和到处new一个对象的实例,那不是一样的吗?后来查了资料也发帖子问了,其实clone和new有区别的,很简单,clone后的对象的实例不仅和原对象的实例结构一致而且值也一致;而new出来的对象的实例只是结构一致,值是默认值。其实原型模式它的根本目的是创建对象的实例,而且是要创建和已经存在
2011-11-15 16:57:22 1458
原创 读书笔记6:工厂方法模式
1、概念 定义一个用于创建对象的接口,让子类决定实例化哪一个类。工厂方法是一个类的实例化延伸到子类。2、背景 已经知道工厂模式,有一个父类SuperClass,以及这个父类的不同实现方法和算法的若干个子类ClassA,ClassB... ...,有一个工厂类DAOFactory,根据客户端传来的标识决定调用哪个子类。如下:using System;using Sys
2011-11-14 17:38:45 1729 1
原创 读书笔记5:代理模式
1、概念 给某一对象提供一个代理对象,并由代理对象控制原对象的引用。2、模型代理模式所涉及的角色有:抽象主题角色:声明了真实主题和代理主题的共同接口。代理主题角色:内部含有对真实主题的引用,可以操作真实主题对象; 代理主题角色提供和真实主题角色相同的接口,可以代替真实主题角色; 代理主题角色被调用传递给真实主题角色之前和之后都要执行某个操作,这样才发挥
2011-11-14 17:04:14 1486
原创 给自己定的目标
今年一直充满了挫败感,感觉一直没有目标,也没有成就。想挣很多钱可是不知道该怎么办——工资一直很少;想努力改变自己的生活也不知道该怎么办——钱还是不够用。天生我材必有用,我怎么一点也没觉得这句话对我起作用呢... ...既然找不到大目标那就给自己定几个能完成的目标吧,不求带来很大的收获,只让自己每天做一些事情吧。 1、每天在博客写一篇技术文章,内容不要深奥,只记录自己的理解。 2
2011-11-14 00:34:30 3414 12
原创 读书笔记4:单例模式
单例模式是指在应用程序的运行周期内,一个类始终只有一个实例,不论在何处访问都是如此。 一般单例模式有两种形式。 1、通过私有构造器实现 定义一个类构造器为private,有一个private的static变量,初始化的时候实例化;通过一个public的GetInstance方法获取对象的引用。public class Singleton{ priva
2011-11-12 14:18:12 2209
原创 读书笔记3:装饰模式
1、背景 给对象增加新功能,如何实现: (1)、在原类里面增加——违背开放封闭原则,类可以扩展但不能被修改。 (2)、利用继承扩展功能——造成类不断增多。 例子:给汽车增加对讲机系统,GPS定位系统,影视播放等,这些都不是汽车类的属性。如何增加? 2、认识装饰模式 装饰模式模型如下: 1、Component类 public abstract cla
2011-11-11 16:29:20 3720
原创 读书笔记2:策略模式
策略模式:定义了算法家族,分别封装起来,让它们之间可以互相替换,此模式让算法的变化,不会影响使用算法的客户。 我觉得,策略模式有点类似于工厂模式:继承一个父类,不同的子类实现父类的方法都不同,然后根据需求初始化相应的子类。不同的是策略模式是针对算法的,工厂模式可以使用所有这种情况。依然以截取网页功能为例:截取算法父类: 对于不同的网页截取算法不同,可以抽象一个父
2011-11-10 10:23:55 1891
原创 读书笔记1:简单工厂模式
工厂模式,这几乎是最常见的了,当年在学校的时候,老师讲了n多设计模式,只有这个至今还能想起来的。工作中我用过两个地方,一是数据库的连接,二是和书上的收银台的例子一样的那种。1、连接数据库,以access为例。这种最常见所以记得很清。 public class DAOFactory { static OleDbConnection conn;
2011-11-09 03:33:09 2238
原创 人生是什么?——感悟2:绝望时候要相信自己
以前一直以为自己年轻,于是大把的挥霍了时间,可是突然发现身边的人都已事业有成,而自己心里,金钱,思维方式还处在两三年前的水平。感觉很绝望,似乎前途很渺茫了。工作没有激情,没有努力的方向。我期望自己有钱,有地位,可是一切都很遥远。这就是现在的写照。 但是,内心里又有一个声音在告诉自己:不能颓废,不能绝望,生活不会因为你的颓废和绝望而向你妥协。是的一个人只有经得起煎熬和磨难才能心智成熟,才
2011-11-09 03:16:53 1808
原创 c#读写文件:概述
1、如何读写 读取文件在编程中经常用到,读写配置文件或者利用文件存取数据等。常用的读取过程如下: (1)声明读写流 FileStream fs = null;连接文件 BinaryWriter bw = null;写的流 BinaryReader br = null;读的流 fs = new FileStream(文件路径, FileMode,
2011-11-08 15:28:37 4078
转载 数组转DataTable
using System;using System.Data;namespace ArrayToDataTable{ class ArrayToDataTable { /// /// 把一个一维数组转换为DataTable /// public static DataTable Conv
2011-11-08 10:30:06 4192
原创 .NET中的DRY和SHY原则
1、定义DRY原则DRY——Don't Repeat Yourself。是指在一个项目工程中的东西最好是唯一的,所有东西,包括类,变量,常量,相同的方法,等等。SHY原则Shy—害羞,是指各个模块不要把只属于自己的东西公开,从而减少依赖关系,假如出现bug,那么让bug只影响该某块,而不要牵扯整个工程。2、联系 两个原则都为了增强程序可维护性。但是在某种程度上两个是不能兼
2011-11-03 11:35:25 1672
原创 检测网络是否连接正常
在项目中用到了网络检测,有两种方法可以用。、1、ping方法 Ping ping = new Ping(); PingReply reply = ping.Send(可以访问的网址,超时毫秒数); if (reply.Status == IPStatus.Success) 连接正常;2、调用系统dll [DllImport("winInet.dll"
2011-11-02 15:48:27 3442
原创 人生是什么?——感悟1:勇于承担自己的选择才是真正的勇气
最近我一直在反思,思考之前的生活,工作。有很多时候我冒出了一些念头,比如跳槽,比如继续学习去考研,比如去农村过一些诗情画意的生活,比如换一个行业过另一种生活... ...但是总是为了眼前的一点小安逸,总是把每次的想法想到最坏的结果上,跳槽失败了就失去了饭碗生活窘迫,学习考研肯能会因为没有钱,毕业又找不到工作,去了农村就会变成为一日三餐发愁的,没人愿意嫁的穷汉,... ... 所以继续苟延
2011-11-02 03:21:31 6380 16
原创 关于使用ASP.NET和数据库的笔记
最近刚刚完成了一个ASP.NET的项目,虽然很小,但是帮我熟悉了ASP.NET,同时也巩固了数据库的一些操作的知识。1、关于自增id (1)、在sqlserver中,使用identity表示,sql语句为:alter table 表名 add 列名 int identity(1,1);在企业管理器中,可以手动改,修改字段类型为int,标识改成是,也可以实现。也可使用select
2011-11-01 11:36:12 1261
转载 Oracle中TO_DATE格式
TO_DATE格式(以时间:2007-11-02 13:45:25为例) Year: yy two digits 两位年 显示值:07 yyy three digits 三位年 显示值:007 yyyy four digits 四位年
2011-11-01 11:29:14 1586
少说话多写代码之GO开发[代码]—go项目管理
2019-03-10
学学Python_51类的成员10 生成器的使用:八皇后问题
2018-12-07
学学Python_50类的成员09 生成器方法和模拟生成器
2018-12-02
学学Python_49类的成员08 生成器的使用:递归
2018-12-01
学学Python_48类的成员07 实现生成器
2018-12-01
学学Python_47类的成员06 实现迭代器
2018-11-27
学学Python_46类的成员05 静态,get,set方法
2018-11-25
学学Python_45类的成员04 property函数
2018-11-24
学学Python_44类的成员03 supper函数
2018-11-22
学学Python_43类的成员02 调用父类构造函数
2018-11-20
学学Python_42类的成员01 构造函数
2018-11-19
学学Python_41类_07 异常
2018-11-18
学学Python_40类_06 多继承
2018-11-17
学学Python_39类_05 查看类的继承关系
2018-11-17
学学Python_38类_04 超类
2018-11-14
学学Python_37类_03 类的命名空间
2018-11-11
学学Python_36类_02 类的方法
2018-11-10
学学Python_35类_01 如何定义类
2018-11-08
学学Python_34函数_创建函数04 二分法查找
2018-11-07
C#中处理多位小数精度的精度问题
2020-12-30
少说话多写代码之GO开发[代码]—通道
2019-03-03
rabbitmq测试程序(.net core)
2019-01-18
.net core 001:webapi
2019-01-13
学学Python_61程序打包01 编译安装
2018-12-25
学学Python_60标准模块8 re模块
2018-12-21
学学Python_59标准模块7 shelve模块
2018-12-18
学学Python_58标准模块6 random模块
2018-12-16
学学Python_57标准模块5 时间模块
2018-12-15
学学Python_56标准模块4 双端队列
2018-12-12
学学Python_55标准模块4 堆
2018-12-11
学学Python_54标准模块3 集合
2018-12-09
学学Python_53标准模块2 Python自带模块
2018-12-09
学学Python_52标准模块1 自定义模块
2018-12-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人