02 2014 档案

c# 正则表达式
摘要:IsMaych 我列举的其中的一种public static void RunIsMatch() { string inputString = "Welcome to the publishers, Wrox Pree Ltd"; if (Regex.IsMatch(inputString, "wrox pree", RegexOptions.IgnoreCase))//匹配在inputString是否存在wrox pree,大小写忽略 { Console.WriteLine("Match Found"); } else { ... 阅读全文

posted @ 2014-02-27 17:55 鸿鹄168 阅读(194) 评论(0) 推荐(0)

操作Access数据库OLEHelper
摘要:usingSystem;usingSystem.Data;usingSystem.Data.OleDb;namespaceAutumn.Data{//////Written:[China]ZhaoZhe///Modify:[China]饶绍泉///Date:Sep.2004///Modify:2008.09///Version1.0///SupportMyBask///Lookingforthelatestversionorsimilarimplentationofthisfunction,pleasevisit://////Purpose:///Tomakeconnectiontoacces 阅读全文

posted @ 2014-02-27 17:54 鸿鹄168 阅读(163) 评论(0) 推荐(0)

C#.Net写的Juliet集程序
摘要:选了一门物理学的课,老师留的作业,试着用C#写了下。分享下程序代码和大家交流一下。代码:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Linq;using System.Text;using System.Windows.Forms;namespace WindowsFormsApplication2{ public partial class Form1 : Form { public F 阅读全文

posted @ 2014-02-27 17:53 鸿鹄168 阅读(150) 评论(0) 推荐(0)

ASP.NET C# String.Format格式化输出
摘要:开发中经常用到格式化,不管是时间、货币、数字都可以随心所欲。也许你用的是{0:C}方式,也许你用String.Format方式,也许你用.ToString("n"),都是格式化的方式。以下N多种格式化方式程序员们记住常用的就可以了,不常用的随用随查吧。字符型转换 转为字符串 12345.ToString("n"); //生成 12,345.00 12345.ToString("C"); //生成 ¥12,345.00 12345.ToString("e"); //生成 1.234500e+004 12345.ToS 阅读全文

posted @ 2014-02-27 17:52 鸿鹄168 阅读(1087) 评论(0) 推荐(0)

C#抽象工厂简单实现类
摘要:曾经参与开发过的的项目,一般都是采用MVC模式进行开发,大概框架图如下:web界面层调用BLL业务层,BLL通过抽象工厂DALFactory动态生成继承了IDAL的数据库操作层实例,以进行对数据库的各项操作。DALFactory这层主要是根据web配置,通过反射动态生成IDAL实例,方便BLL层调用。以前的做法是,IDAL每增加一个接口(如IUser),DALFactory就得添加一个方法用于产生继承了该接口的实例类.粗略代码:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighl 阅读全文

posted @ 2014-02-27 17:50 鸿鹄168 阅读(176) 评论(0) 推荐(0)

关于在C#中,将XML源文件序列化和反序列化的问题
摘要:在系统的开发过程中,经常遇到将系统配置参数保存在XML文件中的情况,这样的好处是调用参数时不需要读取数据库,并且能够设置系统参数缓存对文件的依赖。但是,这种数据的存数方式也会产生一些问题。 我们设置和修改系统参数通常都是在系统的后台操作,但是由于业务需要,经常会出现系统的后台和前台不再同一个网站目录中甚至不在同一台服务器上。这样,系统的 前台或者其他部分根本无法调用后台系统参数设置的xml文件。 所以,可以考虑将序列化过的XML文件保存在数据库中。 .NET中内置序列化和反序列化的方法。不知道的可以自己看一下MSDN。 这些方法的缺点是只提供将实体类序列化为物理文件和将物理文件序列化为实体,这 阅读全文

posted @ 2014-02-27 17:49 鸿鹄168 阅读(219) 评论(0) 推荐(0)

C# 简单的例子
摘要:using System;using System.Collections.Generic;using System.Text;using System.Collections;namespace MyLunch{ /// /// switch的用法 /// /// public class Number { ArrayList list = new ArrayList(); int[] intList; public Number() { } public void Input() { Console.WriteLine("这个程序是让你输入三个数,然后再按照顺序排列出来。(按X退 阅读全文

posted @ 2014-02-27 17:48 鸿鹄168 阅读(202) 评论(0) 推荐(0)

编码实现>文件和输入输出>Stream流
摘要:Stream流是一组连续存放的数据,具有开头和结尾,并且使用游标指示当前位置。Stream流包含的数据可来自内存MemoryStream,文件FileStream,或TCP/IP套接字NetWorkStream。流支持的操作: 读取,数据从Stream流传输到数据结构(字符串或字符节数组)中。写入,数据从数据源传输到Stream流。查找,查询和修改你在Stream流的位置。 编码实现>文件和输入输出>Stream流>创建一个文件流描述,创建一个文件path,并指定文件模式FileMode,访问权限FileAccess,共享访问权限FileShare。 编码实现>文件和输 阅读全文

posted @ 2014-02-27 17:47 鸿鹄168 阅读(216) 评论(0) 推荐(0)

在c#中动态生成水晶报表时,动态添加sort
摘要:代码privatevoidSetSortQuick(ReportClientDocumentobjRPT){if(!String.IsNullOrEmpty(this.SortField)){cCreateReportobjCreateReport=newcCreateReport();string[]arrySortField=this.SortField.Split(newchar[]{','});string[]arrySortDirection=this.SortDirection.Split(newchar[]{','});for(inti=0;i&l 阅读全文

posted @ 2014-02-27 17:46 鸿鹄168 阅读(263) 评论(0) 推荐(0)

C#实现简易游戏修改器
摘要:像偶等之人,虽然平时不太玩游戏,但游戏作为在工作忙碌时的调节也是一个不错东西。像RPG游戏,通常会玩的是剧情,但很多时候碰到一个怎么也打不过的BOSS,游戏就卡在那边,影响了体会剧情的心情。这个时候大家都会想到修改器,把自己的血量维持住,就无敌了。网上搜了一下,发现个《Quick Memory Editor》,共享软件,有使用次数限制。试用了一下,揣摩了一下原理,然后自己实现了一个简易的版本,拿出来分享一下。程序中缺少输入校验,也没有特别设计过,只是随性写来。至于为什么要用C#实现,主是基于调用API方便,以及BitConverter这个类,可以很方便的把具体的数值转换成内存中的字节表示方式, 阅读全文

posted @ 2014-02-27 17:45 鸿鹄168 阅读(2687) 评论(0) 推荐(0)

C# 中用stopwatch测试代码运行时间
摘要:在C#中有一个秒表类:stopwatch,用这个类可以方便的测试一下代码运行时间。要使用stopwatch要先加一个命名空间,System.Diagnostics。具体用法如下:09Stopwatch timer = new Stopwatch();//new一个stopwatch 10long total = 0; 11timer.Start();//开始计算时间 12for (long i = 1; i <= 100000000; i++) 1314total += i; 1516timer.Stop();//结束点,另外stopwatch还有Reset方法,可以重置。 1718Co 阅读全文

posted @ 2014-02-27 17:44 鸿鹄168 阅读(175) 评论(0) 推荐(0)

读取并修改App.config文件
摘要:1. 向项目添加 app.config 文件:右击项目名称,选择“添加”→“添加新建项”,在出现的“添加新项”对话框中,选择“添加应用程序配置文件”;如果项目以前没有配置文件,则默认的文件名称为“ app.config ”,单击“确定”。出现在设计器视图中的 app.config 文件为:在项目进行编译后,在 bin\Debuge 文件下,将出现两个配置文件 ( 以本项目为例 ) ,一个名为“ JxcManagement.EXE.config ”,另一个名为“ JxcManagement.vshost.exe.config ”。第一个文件为项目实际使用的配置文件,在程序运行中所做的更改都将被保 阅读全文

posted @ 2014-02-27 17:39 鸿鹄168 阅读(259) 评论(0) 推荐(0)

C#中的匿名类型与隐式类型变量
摘要:在C#3.0中引入了Linq,使得对集合的操纵发生了深刻的变化,这个变化的幕后英雄便是扩展方法和匿名类型。这里我们谈一谈C#中的匿名类型与隐式类型变量。一、匿名类型 所谓匿名类型顾名思义就是没有类型名称的一种特殊的数据类型,这意味着我们不能显式的引用这种类型的名称。事实上它是由编译器在后台声明并帮你生成必要的代码。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->class Program{public static void Main(s 阅读全文

posted @ 2014-02-27 17:38 鸿鹄168 阅读(665) 评论(0) 推荐(0)

C#程序出现内存溢出错误的解决办法
摘要:用C#开发的站点出现了内存溢出错误:“引发类型为“System.OutOfMemoryException”的异常”因为页面众多一时最初难以确定问题源,找了很久才发现了导致内存溢出的代码。把这次的方法总结一下。症状:每个一段时间才会出现内存溢出的错误,服务器上会出现大量的页面请求被堵塞。回收iis程序池后,会短暂正常,但是过一段时间后又出现内存溢出,时间间隔长短不一,没有规律。解决步骤:1,判断是某个页面被请求到时引发的内存溢出错误。 2,寻找有问题的页面 存在内存溢出错误代码的页面,当被请求时,应该不会被执行结束。 所以,通过OnPreInit方法,在所有页面被请求时,将该页面的地址,请求时间 阅读全文

posted @ 2014-02-27 17:36 鸿鹄168 阅读(6434) 评论(0) 推荐(0)

vs2005 创建dll 和exe文件
摘要:1、 点击开始>运行>cmd>输入 cd C:\WINDOWS\Microsoft.NET\Framework\v2.0.507272、 接着输入下面的命令 : csc /target:exe 你的文件名称.cs// 创建一个myProj.exe控制程序csc /target:winexe myProject.cs file://创建一个myProj.exe的windows程序csc /target:library myProject.cs file://创建一个myProj.dll代码库csc /target:module myProject.cs file://创建一个m 阅读全文

posted @ 2014-02-27 17:33 鸿鹄168 阅读(136) 评论(0) 推荐(0)

贝叶斯算法C#版实现单词拼写检查器
摘要:最近在看贝叶斯算法,该算法在不少方面都有应用,已有的开发实例有:拼写检查、文本分类、垃圾邮件过滤、中文分词等方面。根据需要,决定实现前面两种,拼写检查已经实现,先贴于此。程序效果图:有关贝叶斯算法的学习和拼写纠正方面请参照:原文这里,徐宥的翻译版这里。程序流程:1.根据训练语料统计训练语料中每个单词的出现次数、频率,计算出p(h)先验概率;训练语料在此下载big.txt,内含几百万单词,可作为语料使用。2.计算条件概率p(D|h),即假设(猜测)的单词是我们输入的单词的概率大小,这里使用了编辑距离的概念,简化起见,计算了所有的编辑距离为1的可能编辑,其他请Google或参见这里。3.根据Bay 阅读全文

posted @ 2014-02-27 17:30 鸿鹄168 阅读(481) 评论(0) 推荐(0)

隐藏TextBox中闪烁的光标
摘要:问题:C#中,如何隐藏TextBox中闪烁的光标?方案:调用Windows API1> 将TextBox的TabStop设置为false;2> 在程序中相应位置加入下列代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System.Runtime.InteropServices;……[DllImport("user32", EntryPoint = "HideCaret")]p 阅读全文

posted @ 2014-02-27 17:26 鸿鹄168 阅读(206) 评论(0) 推荐(0)

C#实现汉字简繁转换(万雅虎原创)
摘要:public string TranToTrade(string text)//转换为繁体{ if (text.ToString().Length > 0) { string Sstr = Conversions.ToString(this.getSimple()); string Tstr = Conversions.ToString(this.getTrade()); char[] TradeArr = Tstr.ToCharArray(0, Tstr.Length - 1); int VB$t_i4$L0 = text.Length - 1; for (int i = 0; i 0 阅读全文

posted @ 2014-02-27 17:25 鸿鹄168 阅读(173) 评论(0) 推荐(0)

C# 动态编译及反射执行
摘要:#region 程序集1 无参数、静态类下的静态方法 static void CodeAssembly_1() { //提供对 C# 代码生成器和代码编译器的实例的访问。 CSharpCodeProvider provider = new CSharpCodeProvider(); //表示用于调用编译器的参数 CompilerParameters parameter = new CompilerParameters(); //获取当前项目所引用的程序集。 parameter.ReferencedAssemblies.Add("System.dll"); //获取或设置一个 阅读全文

posted @ 2014-02-27 17:23 鸿鹄168 阅读(202) 评论(0) 推荐(0)

C#中is和as操作符的区别
摘要:1、概念描述 is是C#中用于类型兼容性判断的操作符,检查一个对象是否兼容于其他指定的类型,如果一个对象是某个类型或是其父类型的话就返回为true,否则的话就会返回为false。is的规则如下: 检查对象类型的兼容性,并返回结果,true或者false; 不会抛出异常; 如果对象为null,则返回值永远为false。如下例说明 System.Boolean b1 = (o is System.Object);//b1 为true System.Boolean b2 = (o is Employee);//b2为false 如果对象引用为null,那么is操作符总是返回为fal... 阅读全文

posted @ 2014-02-27 17:22 鸿鹄168 阅读(173) 评论(0) 推荐(0)

c和c#托管与非托管代码中变量对应
摘要:下表列出了在 Win32 API(在 Wtypes.h 中列出)和 C 样式函数中使用的数据类型。许多非托管库包含将这些数据类型作为参数传递并返回值的函数。第三列列出了在托管代码中使用的相应的 .NET Framework 内置值类型或类。某些情况下,您可以用大小相同的类型替换此表中列出的类型。 Wtypes.h中的非托管类 非托管 C 语言类型 托管类名 说明handlevoid*System.IntPtr32 位byteunsigned charSystem.Byte8 位shortshortSystem.Int1616 位wordunsigned shor... 阅读全文

posted @ 2014-02-27 17:21 鸿鹄168 阅读(468) 评论(0) 推荐(0)

Attribute在.NET编程中的应用(四)
摘要:Attribute在拦截机制上的应用从这一节开始我们讨论Attribute的高级应用,为此我准备了一个实际的例子:我们有一个订单处理系统,当一份订单提交的时候,系统检查库存,如果库存存量满足订单的数量,系统记录订单处理记录,然后更新库存,如果库存存量低于订单的数量,系统做相应的记录,同时向库存管理员发送邮件。为了方便演示,我们对例子进行了简化://Inventory.csusing System;using System.Collections;namespace NiwalkerDemo{ public class Inventory { private Hashtable... 阅读全文

posted @ 2014-02-27 17:20 鸿鹄168 阅读(125) 评论(0) 推荐(0)

C#中判断某软件是否已安装
摘要:private void button1_Click(object sender, EventArgs e) { if (checkAdobeReader() == true) { MessageBox.Show("有安裝 Adobe Reader "); } else { MessageBox.Show("沒有安裝 Adobe Reader "); } } /// /// 確認是否有安裝 Adobe Reader /// /// true: 有安裝, false:沒有安裝 private bool checkAdobeReader() { Micros 阅读全文

posted @ 2014-02-27 09:35 鸿鹄168 阅读(325) 评论(0) 推荐(0)

C# 删除文件夹
摘要:/// /// C# 删除文件夹 /// 用法: DeleteFolder(@"c:\\1"); /// /// private static void DeleteFolder(string dir) { // 循环文件夹里面的内容 foreach (string f in Directory.GetFileSystemEntries(dir)) { // 如果是文件存在 if (File.Exists(f)) { FileInfo fi = new FileInfo(f); if (fi.Attributes.ToString().IndexOf("Reado 阅读全文

posted @ 2014-02-27 09:34 鸿鹄168 阅读(96) 评论(0) 推荐(0)

.net C# ADC接口中DES加密算法
摘要:Des加密保证消息的不可阅读性。对消息的加密算法:Base64(DES(MD5(消息体) + 消息体))消息采用的DES加密算法规则如下:1.密钥是一个长度16、由16进制字符组成的字符串,如:1234567890ABCDEF使用时,相临的两位理解为一个16进制数的明文,然后转换为实际使用的8位密钥2. 待加密数据按照PKCS5规则进行补位。(缺7位补7个0x07,缺6位则补6个0x06,以次类推,如果正好8位,也需要补8个0x08)3. 实际加密模式选择DES-ECB4. 经过DES加密后的数据必须通过Base64编码转换为明文的字符串华为提示java的jar包,但.net 方面是没有方法, 阅读全文

posted @ 2014-02-27 09:33 鸿鹄168 阅读(253) 评论(0) 推荐(0)

c# 解析JSON的几种办法
摘要:欲成为海洋大师,必知晓海中每一滴水的真名。刚开始只是想找一个转换JSON数组的方法,结果在MSDN翻到一大把。搜索过程中免不了碰到一大堆名词:WCF => DataContract => DataMember => DataContractJsonSerializer,然后就是不停的引入命名空间。这一段经历,立即让我就联想到了上面引用的这句存在于某小说里面巫师的话语。静态语言真有点令人抓狂,不停的做准备,然后才可能开始工作。对比.NET下几种常见的解析JSON方法主要类命名空间限制内建LINQ支持DataContractJsonSerializerSystem.Runtime 阅读全文

posted @ 2014-02-27 09:31 鸿鹄168 阅读(175) 评论(0) 推荐(0)

C#调用Win32 的API函数--User32.dll
摘要:Win32的API函数是微软自己的东西,可以直接在C#中直接调用,在做WinForm时还是很有帮助的。有时候我们之直接调用Win32 的API,可以很高效的实现想要的效果。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Runtime.InteropServic 阅读全文

posted @ 2014-02-27 09:30 鸿鹄168 阅读(125) 评论(0) 推荐(0)

C#代码规范(程序员必备的秘笈)
摘要:1. 引言本文是一套面向C# programmer 和C# developer 进行开发所应遵循的开发规范。按照此规范来开发C#程序可带来以下益处:· 代码的编写保持一致性,· 提高代码的可读性和可维护性,· 在团队开发一个项目的情况下,程序员之间可代码共享· 易于代码的回顾,本规范是初版,只适用于一般情况的通用规范,并不能覆盖所有的情况。2. 文件组织2.1 C# 源文件类名或文件名要简短,不要超过2000LOC,将代码分割开,使结构清晰。将每个类放在一个单独的文件中,使用类名来命名文件名(当然扩展名是.cs)。这种约定会使大家工作更简单。2.2 目录 阅读全文

posted @ 2014-02-27 09:27 鸿鹄168 阅读(620) 评论(0) 推荐(0)

自定义类型的equals方法的实现
摘要:如果我们要创建一个类,无论是引用还是值类型的,经常要实现equals方法,下面把这两种一般的实现方式写在这里1.引用类型的实现Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->classMyRefType:BaseType{RefTyperefobj;//引用类型的对象ValTypevalobj;//值类型的对象publicoverrideboolEquals(objectobj){//当基类实现了equals时,首先要调用基类的equals方 阅读全文

posted @ 2014-02-27 09:25 鸿鹄168 阅读(178) 评论(0) 推荐(0)

C# 在winform中查找控件
摘要:/// /// 在winform中查找控件/// /// /// /// private System.Windows.Forms.Control findControl(System.Windows.Forms.Control control, string controlName){ Control c1; foreach (Control c in control.Controls) { if (c.Name == controlName) { return c; } else if (c.Controls.Count > 0) { c1 = findControl(c, cont 阅读全文

posted @ 2014-02-27 09:24 鸿鹄168 阅读(218) 评论(0) 推荐(0)

浮点运算结果出现误差原因分析及解决方案
摘要:如下C#代码:float a = 0.65f;float b = 0.6f;float c = a - b;此时c为多少?0.05?错误!此时c为0.0499999523!为什么?其根本原因是计算机所使用二进制01代码无法准确表示某些带小数位的十进制数据。下面我们来分析下:我们知道将一个十进制数值转换为二进制数值,需要通过下面的计算方法:1. 整数部分:连续用该整数除以2,取余数,然后商再除以2,直到商等于0为止。然后把得到的各个余数按相反的顺序排列。简称"除2取余法"。2. 小数部分:十进制小数转换为二进制小数,采用"乘2取整,顺序排列"法。用2乘以十 阅读全文

posted @ 2014-02-27 09:22 鸿鹄168 阅读(360) 评论(0) 推荐(0)

C#调用新浪微博API生成RSS资源文件
摘要:作者:一点一滴的Beer 个人主页:http://beer.cnblogs.com新浪微博现在好像势头很猛,很多人在创立自己的微博客的时候,开始出于好奇,都会跟随很多人,久而久之,自己的好友人数超过100后,那么你就发现,你已经完全淹没在信息的洪流中了,你跟随了那么多人,很多人都是今后可能永远都不会想起,也永远也不会看到的人,这显然与“关注”的目的是相背的,更有时候可能你只是想看下你认识的人的消息更新了没有,但是显然你不可能每次都一个个到自己的关注人物表中点开然后再一一访问他的主页,这样操作太繁琐了。用过RSS阅读器的用户可能都体会到RSS阅读器在获取信息的优越性了吧。它能实时跟踪RSS资源的 阅读全文

posted @ 2014-02-27 09:21 鸿鹄168 阅读(195) 评论(0) 推荐(0)

C# CultureInfo 和CultureUIInfo的区别
摘要:有几个概念先要了解一下:全球化,本地化全球化:简单说就是你开发的应用程序能够跨越多个文化地区使用,而不必顾虑语言和地区的差别.就是说我的程序在中国以中文的形势显示,到了俄国能以俄文的形势显示.本地化:使用一种本地特有的文化和语言显示创建,存储,输入,输出数据的内容的过程.文化影响日期的显示格式(如显示mm/dd/yyyy还是dd/mm/yyyy),货币显示格式.世界分为若干个文化和区域.文化是基于语言和文化习惯的一组特性.语言与文化相互依赖,相互影响,语言是文化的重要载体.RFC 1766 定义了文化的名称,这些名称根据语言和国家或区域的不同在世界各地使用。例如 en-AU 、 en-CA 、 阅读全文

posted @ 2014-02-27 09:20 鸿鹄168 阅读(2765) 评论(0) 推荐(1)

一个C#多线程的工作队列
摘要:自己写了一个多线程的工作队列,能够实现对队列中对象的自动处理。多线程添加元素到队列中,队列根据绑定的事件进行自动处理,可以设置WorkSequential属性来实现对队列处理的单线程(严格顺序处理)或者多线程处理(循序出队,但是多线程处理,不保证对队列元素的处理顺利)的选择。源码:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->/***********多线程的工作队列*************** * 此工作队列保证线程安全性 * * * 阅读全文

posted @ 2014-02-27 09:19 鸿鹄168 阅读(307) 评论(0) 推荐(0)

C# IP多播
摘要:IP多播(也称多址广播或组播)技术,是一种允许一台或多台主机(多播源)发送单一数据包到多台主机(一次的,同时的)的TCP/IP网络技术。 多播作为一点对多点的通信,是节省网络带宽的有效方法之一。 在网络音频/视频广播的应用中,当需要将一个节点的信号传送到多个节点时,无论是采用重复点对点通信方式,还是采用广播方式,都会严重浪费网络带宽,只有多播才是最好的选择。 多播能使一个或多个多播源只把数据包发送给特定的多播组,而只有加入该多播组的主机才能接收到数据包。目前,IP多播技术被广泛应用在网络音频/视频广播、AOD/VOD、网络视频会议、多媒体远程教育、“push”技术(如股票行情等)和... 阅读全文

posted @ 2014-02-27 09:18 鸿鹄168 阅读(747) 评论(0) 推荐(0)

C#实现大数相乘
摘要:publicstringzz(stringa,stringb){char[]chara=a.ToCharArray();char[]charb=b.ToCharArray();int[]inta=Array.ConvertAll(chara,newConverter(delegate(charg){returnint.Parse(g.ToString());}));int[]intb=Array.ConvertAll(charb,newConverter(delegate(charg){returnint.Parse(g.ToString());}));intx=a.Length;inty=b 阅读全文

posted @ 2014-02-27 09:15 鸿鹄168 阅读(331) 评论(0) 推荐(0)

删除目录下的所有文件及子文件夹
摘要://删除目录下的所有文件及子文件夹 string strDeleteDir; strDeleteDir = Application.StartupPath + "\\img\\temp"; deleteTmpFiles(strDeleteDir);以下为函数 #region 删除这个目录下的所有子目录和文件 //删除这个目录下的所有文件及文件夹 private void deleteTmpFiles(string strPath) { //删除这个目录下的所有子目录 if (Directory.GetDirectories(strPath).Length > 0) { 阅读全文

posted @ 2014-02-27 09:14 鸿鹄168 阅读(325) 评论(0) 推荐(0)

代码控制编译C#程序
摘要:前两天翻看MSDN玩,发现一个挺有趣的功能,可以直接使用代码控制C#程序的编译。有这么个东西,要是有些程序需要实现即时修改代码再编译成程序集的功能就比较方便了。...话说,ASP.Net该不会是用这个实现的吧?先上一段代码,功能是编译参数中引用的文件中包含的代码,如果不带参数则编译一段自带的代码: 1: using System; 2: using System.CodeDom; 3: using System.CodeDom.Compiler; 4: using Microsoft.CSharp; 5: using System.IO; 6: 7: namespace CSh... 阅读全文

posted @ 2014-02-27 09:13 鸿鹄168 阅读(314) 评论(0) 推荐(0)

在P/Invoke中使用GCHandle传送对象
摘要:在C#中调用非托管函数的时,有很多函数需要使用在C#中定义对象的地址;因此要使用到GCHandle类。使用片断:DWORD ReadCert(UNT_DEV_HANDLEhDev,BYTE*pbCert,DWORD*pdwCertLen,DWORDdwFlag); /// Return Type: DWORD->unsigned int ///hDev: UNT_DEV_HANDLE->void* ///pbCert: BYTE* ///pdwCertLen: DWORD* ///dwFlag: DWORD->unsigned int [System.Runtime.Inte 阅读全文

posted @ 2014-02-27 09:12 鸿鹄168 阅读(216) 评论(0) 推荐(0)

C#实现关机、重启、注销
摘要:01 //实现关机,重启,注销 02[StructLayout(LayoutKind.Sequential, Pack = 1)] 03internal struct TokPriv1Luid 0405public int Count; 06public long Luid; 07public int Attr; 080910//[DllImport]允许.NET调用任意非托管的C/C++基类库,包括操作系统中的API.但与基于COM的软件通信时,[DLLImport]不能使用. 11[DllImport("kernel32.dll", ExactSpelling = tr 阅读全文

posted @ 2014-02-27 09:11 鸿鹄168 阅读(166) 评论(0) 推荐(0)

使用C#读写ini配置文件
摘要:INI就是扩展名为"INI"的文件,其实他本身是个文本文件,可以用记事本打工,主要存放的是用户所做的选择或系统的各种参数.INI文件其实并不是普通的文本文件.它有自己的结构.由若干段落(SECTION)组成,在每个带括号的标题下面,是若干个以单个单词开头的关键字(KEYWORD)和一个等号,等号右边就是关键字的值(VALUE).例如:[Section1]KeyWord1 = Value1KeyWord2 = Value2...[Section2]KeyWord3 = Value3KeyWord4 = Value4C#命名空间中没有直接读写INI的类,当然如果你把INT当成文 阅读全文

posted @ 2014-02-27 09:10 鸿鹄168 阅读(149) 评论(0) 推荐(0)

使用DbHelperSQL调用存储过程的方法
摘要://////获得数据集//////表名///需要返回的列,默认为全部///排序字段名///页尺寸///页码///返回记录总数,非0值则返回///设置排序类型,非asc值则降序///查询条件(注意:不要加where)///数据集publicstaticSqlDataReaderGet_DataReader(stringtblName,stringRetColumns,stringOrderfld,intPageSize,intPageIndex,intIsCount,stringOrderType,stringstrWhere){IDataParameter[]parameters=newSql 阅读全文

posted @ 2014-02-27 09:08 鸿鹄168 阅读(1156) 评论(0) 推荐(0)

c# 中使用AxPictureClip 控件的错误处理
摘要:遇到问题的解决办法:1、COM组件中找不到Microsoft Picture Clip Control, version 6.0 解决办法:下载 PICCLP32.OCX,并注册 regsvr32 c:\windows\system32\PICCLP32.OCX (因为我把这个文件拷到了c:\windows\system32\)2、创建组件“AxHost”失败。......您必须有许可证才能使用..... 解决办法: 编辑注册表regedit; 找到HKEY_CLASSES_ROOT\Licenses,在Licenses下增加项6FB38640-6AC7-11cf-8ADB-0... 阅读全文

posted @ 2014-02-27 09:07 鸿鹄168 阅读(244) 评论(0) 推荐(0)

C#.NET中string与String的区别
摘要:string是c#中的类,String是.net Framework的类(在c# IDE中不会显示蓝色)。c# string映射为.net Framework的String。string是关键字,String不是,也就是说string不能作为类、结构、枚举、字段、变量、方法、属性的名称,而String可以。 阅读全文

posted @ 2014-02-27 09:05 鸿鹄168 阅读(133) 评论(0) 推荐(0)

C#的==运算符和Equals()方法区别
摘要:using System;using System.Collections.Generic;using System.Text;namespace ConsoleApplication1{ class Person { private string name; public string Name { get { return name; } set { name = value; } } public Person(string name) { this.name = name; } } class Program { static v... 阅读全文

posted @ 2014-02-27 09:04 鸿鹄168 阅读(138) 评论(0) 推荐(0)

C# 完成端口组件实现精髓
摘要:前面用C++实现了windows平台上的网络完成端口组件,那么到C#中如何做了?起初我打算通过PInvoke来调用win底层API来仿照C++实现,但问题很快就出来了--C#中的Unsafe指针无法稳定的指向一块缓冲区的首地址,也就是说当垃圾回收进行的时候,我们的unsafe指针的值可能已经无效了。用pin?我也想过,可是锁住所有的TCP接收缓冲区,会极大的降低运行时的效率。难道没有办法了吗?想想完成端口模型的本质思想是将"启动异步操作的线程"和"提供服务的线程"(即工作者线程)拆伙。做到这一点不就够了吗,这是本质的东西。 分析一下我们需要几种类型的线程 阅读全文

posted @ 2014-02-27 09:02 鸿鹄168 阅读(137) 评论(0) 推荐(0)

C#广播通信
摘要:单播(点对点) 通信,即网络中单一的源节点发送封包到单一的上的节点。 在广播通信中, 网络层提供了将封包从一个节点发送到所有其他节点的服务。 利用广播(broadcast) 可以将数据发送给本地子网上的每个机器。广播的缺点是如果多个进程都发送广播数据, 网络就会阻塞。1. 服务端代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->using System;using System.Collections.Generic;using Syste 阅读全文

posted @ 2014-02-27 09:01 鸿鹄168 阅读(398) 评论(0) 推荐(0)

C# 4.0新特性之匿名返回类型
摘要:今天又关注了一下C#4.0的新特性, 可能这对4.0的老玩家已经不能构成兴奋了...初学linq的时候就发现var类型十分诡异, 我们为了让linq查询的返回值用在另一个方法或另一个类中而绞尽脑汁...现在终于好了, 看来microsoft也做了不少好事, 哈哈...少说废话, 上代码:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1publicvarGetProductInfos()2{3varproductInfos=4frompi 阅读全文

posted @ 2014-02-27 09:00 鸿鹄168 阅读(320) 评论(0) 推荐(0)

C#进程管理
摘要:一、加入命名空间using System.Diagnostics;二、启动进程//Dir所在路径private void StartPress(string Dir){ Process.Start(Dir);}二、关闭过程private void KillPress(string ProName){ ProName = ProName.ToLower(); System.Diagnostics.Process[] myProcesses = System.Diagnostics.Process.GetProcesses(); foreach (System.Diagn... 阅读全文

posted @ 2014-02-27 08:58 鸿鹄168 阅读(87) 评论(0) 推荐(0)

Linq ExecuteQuery方法执行结果的枚举问题
摘要:说明:1、IExecuteQuery中T类的字段名必须与sql_exp中SQL语句的列名一样才能填充实体类。2、执行ExecuteQuery()返回的IExecuteQuery不能进行多次(两次以上)结果集查询,且读取IExecuteQuery必须保持connecton open,所以考虑转化为IList。使用时,可先将结果缓存到IList对象中。如下示例IEnumerable search = conn.ExecuteQuery(sqlCommond);IList alist=new List(search); 阅读全文

posted @ 2014-02-27 08:57 鸿鹄168 阅读(229) 评论(0) 推荐(0)

.Net多线程总结
摘要:.Net提供了许多多线程编程工具,可能是因为太多了,所以掌握起来总是有一些头疼,我在这里讲讲我总结的一些多线程编程的经验,希望对大家有帮助 不需要传递参数,也不需要返回参数 我们知道启动一个线程最直观的办法是使用Thread类,具体步骤如下 ThreadStart threadStart=new ThreadStart(Calculate); Thread thread=new Thread(threadStart); thread.Start(); public void Calculate(){ double Diameter=0.5; Console.Write("The pe 阅读全文

posted @ 2014-02-27 08:56 鸿鹄168 阅读(112) 评论(0) 推荐(0)

C#关于类抽象类和接口之间的关系(Abstract)(Interface)
摘要:类Class抽象类(abstract class)接口(Interface)方法实现既可以实现,也可以不实现不可以实现不实现成员变量有有无实例化可以不可以不可以继承可以继承一个类,多个接口可以继承一个类,多个接口可以继承多个接口(合并)成员函数有有未实现的成员函数未实现的成员函数抽象是特征的抽象是行为的抽象接口(interface)是抽象类的变体.接口中,所有的方法都是抽象的.多继承性可以通过实现这样的接口而获得.接口中的所有方法都是抽象的,没有一个有程序题,接口只可以定义static final成员变量.接口的实现于子类类似,除了该实现类不能从接口定义中继承行为.当类实现特殊的接口是,他定义 阅读全文

posted @ 2014-02-27 08:55 鸿鹄168 阅读(245) 评论(0) 推荐(0)

如何获得WM设备信息,如型号、操作系统版本等
摘要:一、获得操作系统版本号:System.Environment.OSVersion.Version二、在系统“关于”中设置 的“设备标识”private string GetDeviceName() { return System.Net.Dns.GetHostName();//ppc or smtphone }或者public static string MachineName { get { string machineName = ""; try { RegistryKey ident = Registry.LocalMachine.OpenSubKey("I 阅读全文

posted @ 2014-02-27 08:54 鸿鹄168 阅读(154) 评论(0) 推荐(0)

Visual C#常用函数和方法集汇总
摘要:1、DateTime数字型System.DateTimecurrentTime=newSystem.DateTime(); 1.1取当前年月日时分秒currentTime=System.DateTime.Now; 1.2取当前年int年=currentTime.Year; 1.3取当前月int月=currentTime.Month; 1.4取当前日int日=currentTime.Day; 1.5取当前时int时=currentTime.Hour; 1.6取当前分int分=currentTime.Minute; 1.7取当前秒int秒=currentTime.Second; 1... 阅读全文

posted @ 2014-02-26 21:11 鸿鹄168 阅读(105) 评论(0) 推荐(0)

在Infopath的浏览器表单中获取当前用户
摘要:如果需要在表单中显示当前用户,可以通过Application.User获取XPathNavigator navigator = this.CreateNavigator().SelectSingleNode("/my:fields/my:employee/my:name", this.NamespaceManager);navigator.SetValue(this.Application.User.UserName);注意,User.UserName不包含域名,而User.LoginName则包含域名如果要获取当前登录用户的显示名称,则和在webpart中获取当前用户方法 阅读全文

posted @ 2014-02-26 21:10 鸿鹄168 阅读(122) 评论(0) 推荐(0)

使用C#循环链表解决约瑟夫环的问题
摘要:前几日看到一个关于约瑟夫环的面试题,于是试着动手做了一下,没有采用.Net类库的LinkedList类,自己实现了一个循环链表结构,然后模拟游戏过程得出结果。具体代码如下:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->classProgram{staticvoidMain(string[]args){constintHUMAN_MAX=17;constintHUMAN_INDEX=3;constintHUMAN_NUMBER=0;Lin 阅读全文

posted @ 2014-02-26 21:09 鸿鹄168 阅读(315) 评论(0) 推荐(0)

C#_读写ini配置文件
摘要:.NET Framework 类库未提供读写ini文件的相应类,不过可以使用WinAPI来处理INI文件的读写,代码很简单。如下:首先有两个API函数需放在你的class中且只能如此,放在method或(class外namespace内),都会出现编译错误:1using System.Runtime.InteropServices; 2[DllImport("kernel32")] 3private static extern long WritePrivateProfileString(string section,string key,string val,string 阅读全文

posted @ 2014-02-26 21:08 鸿鹄168 阅读(158) 评论(0) 推荐(0)

C#中海量数据的批量插入和更新
摘要:对于海量数据的插入和更新,ADO.NET确实不如JDBC做到好,JDBC有统一的模型来进行批操作.使用起来非常方便:PreparedStatement ps = conn.prepareStatement("insert or update arg1,args2....");然后你就可以for(int i=0;i<1000000000000000;i++){ps.setXXX(realArg);.....ps.addBatch();if(i%500==0){//假设五百条提交一次ps.executeBatch();//clear Parame Batch}}ps.ex 阅读全文

posted @ 2014-02-26 21:07 鸿鹄168 阅读(260) 评论(0) 推荐(0)

C#集合之Hashtable
摘要:1、HashTable定义System.Collections. Hashtable类表示键/值对的集合,这些键/值对根据键的哈希代码进行组织, 每个元素都是一个存储在 DictionaryEntry 对象中的键/值对。键不能为 null,但值可以。2.优点1、通过Key快速查找。2、Hashtable 是线程安全的。3. Hashtable的构造器构造器函数注释Public Hashtable () 使用默认的初始容量(容量大小为0)、加载因子、哈希代码提供程序和比较器来初始化 Hashtable 类的新的空实例。publicHashtable (IDictionary) 通过将指定字典中的 阅读全文

posted @ 2014-02-26 21:06 鸿鹄168 阅读(179) 评论(0) 推荐(0)

C# ArrayList的用法
摘要:System.Collections.ArrayList类是一个特殊的数组。通过添加和删除元素,就可以动态改变数组的长度。一、优点1. 支持自动改变大小的功能2. 可以灵活的插入元素3. 可以灵活的删除元素4. 可以灵活访问元素二、局限性跟一般的数组比起来,速度上差些三、添加元素1.public virtual int Add(object value);将对象添加到ArrayList的结尾处ArrayList aList=new ArrayList();aList.Add("a");aList.Add("b");aList.Add("c&qu 阅读全文

posted @ 2014-02-26 21:05 鸿鹄168 阅读(119) 评论(0) 推荐(0)

C#参数传递机制
摘要:C#方法的参数传递机制和C语言、C++语言不一样的是,新增加了一种叫做输出传递机制,其他两种机制为值传递和引用传递机制。 总结如下: C#方法的参数传递机制有以下三种方法:值传递引用传递输出传递根据以上描述,我们来举个例子说明这三种传递机制内幕。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Tex 阅读全文

posted @ 2014-02-26 21:04 鸿鹄168 阅读(152) 评论(0) 推荐(0)

C#递归在dropdownlist显示树状
摘要:/// /// 绑定文件分类 /// public void bind() { //获取数据集 DataSet ds = new DataSet(); ds = ec.ExecuteSelectCmmond("select * from t_Column where U_UserID='" + HttpContext.Current.Request.Cookies["NameID"].Value + "'", ds); BindingCWAList(DropDownList1, ds); } private void 阅读全文

posted @ 2014-02-26 21:04 鸿鹄168 阅读(199) 评论(0) 推荐(0)

SqlCommand.ExecuteScalar
摘要:下面的示例创建一个 SqlCommand,然后使用 ExecuteScalar 执行它。向该示例传递两个字符串,一个字符串表示要插入到表中的新值,另一个字符串用于连接至数据源。如果已插入新行,则此函数会返回新的“Identity”列值,如果失败,则返回 0。01static public int AddProductCategory(string newName, string connString) 0203Int32 newProdID = 0; 04string sql = 05"INSERT INTO Production.ProductCategory (Name) VAL 阅读全文

posted @ 2014-02-26 21:03 鸿鹄168 阅读(137) 评论(0) 推荐(0)

C#中IList与List区别
摘要:首先IList 泛型接口是 ICollection 泛型接口的子代,并且是所有泛型列表的基接口。它仅仅是所有泛型类型的接口,并没有太多方法可以方便实用,如果仅仅是作为集合数据的承载体,确实,IList可以胜任。不过,更多的时候,我们要对集合数据进行处理,从中筛选数据或者排序。这个时候IList就爱莫能助了。1、当你只想使用接口的方法时,ILis这种方式比较好.他不获取实现这个接口的类的其他方法和字段,有效的节省空间.2、IList 是个接口,定义了一些操作方法这些方法要你自己去实现List 是泛型类,它已经实现了IList 定义的那些方法Code highlighting produced b 阅读全文

posted @ 2014-02-26 21:02 鸿鹄168 阅读(161) 评论(0) 推荐(0)

C#中的弱引用
摘要:用代码说明:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->classProgram{staticvoidMain(string[]args){DoWork();Console.WriteLine(P.Target==null);GC.Collect();Console.WriteLine(P.Target==null);Console.ReadLine();}publicstaticWeakReferenceP;publicstatic 阅读全文

posted @ 2014-02-26 21:00 鸿鹄168 阅读(83) 评论(0) 推荐(0)

C#用session做登陆
摘要:登陆 的例子 学号: 姓名: 阅读全文

posted @ 2014-02-26 20:58 鸿鹄168 阅读(278) 评论(0) 推荐(0)

C#中结构体与字节流互相转换
摘要:因为程序必须要和C++开发的程序通信,而通信数据的是结构体的转化后的字节流,那么就要求C#能够顺利的将字节流转换为C#结构体。定义与C++对应的C#结构体代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->//C++结构体struct tagCheakUser {char userName[12];char pwd[32];}//对应的C#结构体[StructLayout( LayoutKind.Sequential,Pack=1)]... 阅读全文

posted @ 2014-02-26 20:55 鸿鹄168 阅读(367) 评论(0) 推荐(0)

用C#代码编写的SN快速输入工具
摘要:一般软件都要输入序列号(SN),而大家平时用的最多的恐怕是盗版软件,通常盗版软件的序列号(SN)都保存成:XXXXX-XXXXX-XXXX-XXXX的形式。 而软件输入序列号的地方通常都是几个文本框(TextBox)组成。一个个的将XXXXX复制到文本框将非常麻烦。于是SN快速输入工具便由此产生了。 当然这些都和我的编写这个程序的原因无关。我编写这个程序的原因纯粹是因为有个网友和他舅舅打赌说要编写个程序,而他舅舅就是要他编写这个程序,但可惜我的这位网友才是个编程初学者(比我更菜的菜鸟),当然完成不了这个看似简单,实际要用到许多编程知识的程序咯。 要做这个程序,首先当然是要了解程序的功能了... 阅读全文

posted @ 2014-02-26 20:54 鸿鹄168 阅读(165) 评论(0) 推荐(0)

C#强制关闭Excel进程(通过COM使用Excel时)
摘要:在之前的一个项目中,客户要求要出Excel的报表。由于其报表比较复杂,所以我们采用先制作报表的Excel模板,然后再通过COM将数据写入Excel模板中(缺点就是要求部署的机器上有Excel)。刚开始做的时候挺顺利,做完之后也能按要求完成报表。但是时间长了服务器会变慢,打开windows的进程管理器一看,才发现里面有很多的Excel.exe的进程。原因就是每次调用COM后产生的Excel.exe的进程没有正常关闭掉。分析其中的原因,我觉得可能就是COM中的类毕竟是非托管代码,即使我们在程序里释放了new出来的相关类(比如Excel.Application,Excel.Workbooks等等)。 阅读全文

posted @ 2014-02-26 20:54 鸿鹄168 阅读(1808) 评论(0) 推荐(0)

C#给图片加水印标记(可设置透明度)
摘要://////CreatingaWatermarkedPhotographwithGDI+for.NET//////原始图片的物理路径///水印图片的物理路径///水印文字(不显示水印文字设为空串)///输出合成后的图片的物理路径///@整理:anyrock@mending.cnpublicvoidBuildWatermark(stringrSrcImgPath,stringrMarkImgPath,stringrMarkText,stringrDstImgPath){//以下(代码)从一个指定文件创建了一个Image对象,然后为它的Width和Height定义变量。//这些长度待会被用来建立一 阅读全文

posted @ 2014-02-26 20:53 鸿鹄168 阅读(173) 评论(0) 推荐(0)

ASP.NET C# URL加密解密
摘要:using System.Security.Cryptography;using System.IO;using System.text;/// /// 加密 /// /// /// /// public static string Encode(string str, string key) { DESCryptoServiceProvider provider = new DESCryptoServiceProvider(); provider.Key = Encoding.ASCII.GetBytes(key.Substring(0, 8)); provider.IV = En... 阅读全文

posted @ 2014-02-26 20:51 鸿鹄168 阅读(625) 评论(0) 推荐(0)

C#快速获取助记码
摘要:本文实现: 1、以牺牲空间为代价,方便快速地实现汉字的助记码获取。 2、针对拼音特性,实现多音字并提供显式地姓氏调用方法。网上关于使用C#取助记码的方法很多,不过一般都是采用将每一个码有哪些汉字的方法来实现助记码的转换,它的缺点是显而易见的:1.相当于本来应该存放在数据库或者是外部的数据存放到程序中;2.利用字符串的定位功能,性能上也不一定好。 在线性表中我们查找指定位置结点的数据是最快的,比如一个包含10000个元素的线性表中,无论直接访问哪一个位置的数据值,只要根据表的第一个位置就可以直接定位到第9000个元素的位置,数组也是一种简单有效的线性表,需要某个项目,只要通过编移量即可搞定... 阅读全文

posted @ 2014-02-26 20:50 鸿鹄168 阅读(787) 评论(0) 推荐(0)

C#操作Word表格的常见操作
摘要:几种常见C#操作Word表格操作有哪些呢?让我们来看看具体的实例演示:boolsaveChange=false; //C#操作Word表格操作objectmissing=System.Reflection.Missing.Value; objecttemplate=(object)templateFilePath; objectfilename=(object)saveFilePath;objectisVisible=missing; objectreadOnly=missing; objectbreakType=Word.WdBreakType.wdSectionBreakNextPage; 阅读全文

posted @ 2014-02-26 20:49 鸿鹄168 阅读(1178) 评论(0) 推荐(0)

C#集合框架
摘要:System.Collections 命名空间包含接口和类,这些接口和类定义各种对象(如列表、队列、位数组、哈希表和字典)的集合。System.Collections.Generic 命名空间包含定义泛型集合的接口和类,泛型集合允许用户创建强类型集合,它能提供比非泛型强类型集合更好的类型安全性和性能。System.Collections.Specialized 命名空间包含专用的和强类型的集合,例如,链接的列表词典、位向量以及只包含字符串的集合。(一)ArrayList 类:使用大小可按需动态增加的数组。using System;using System.Collections.Generic 阅读全文

posted @ 2014-02-26 20:47 鸿鹄168 阅读(185) 评论(0) 推荐(0)

用Visual C#实现P2P应用程序
摘要:一.前言: P2P,即英文Peer-to-Peer的缩写,中译为对等互联或点对点技术。讲到P2P,人们就会想起Napster,Napster让人们认识到了P2P技术的威力,P2P技术也就通过Napster进入了大多数用户的视野,Napster的音乐文件交换功能是P2P的一个主要应用。P2P技术可以让用户可以直接连接到其他用户的计算机,进行文件共享与交换。同时P2P在深度搜索、分布计算、协同工作等方面也大有用途。 简单地说,P2P就是一种用于不同PC用户之间,不经过中继设备直接交换数据或服务的技术,它允许 Internet用户直接使用对方的文件。每个人可以直接连接到其他用户的计算机,并进行文.. 阅读全文

posted @ 2014-02-26 20:46 鸿鹄168 阅读(1522) 评论(0) 推荐(0)

c#序列化与反序列化概述
摘要:深入探讨C#序列化和反序列化之前我们先要明白什么是序列化,它又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制。序列化就是把一个对象保存到一个文件或数据库字段中去,反序列化就是在适当的时候把这个文件再转化成原来的对象使用。其目的是以某种存储形成使自定义对象持久化,或者将这种对象从一个地方传输到另一个地方。.NET框架提供了两种串行化的方式:1、是使用BinaryFormatter进行串行化;2、使用SoapFormatter进行串行化;3、使用XmlSerializer进行串行化。第一种方式提供了一个简单的二进制数据流以及某些附加的类型信息,而第二种将数据流格式化为XML存储;第 阅读全文

posted @ 2014-02-26 20:45 鸿鹄168 阅读(153) 评论(0) 推荐(0)

C# SortedList 和 SortedDictionary集合类型
摘要:System.Collections.SortedList 类、System.Collections.Generic.SortedList 泛型类和 System.Collections.Generic.SortedDictionary 泛型类类似于 Hashtable 类和 Dictionary 泛型类,因为它们也实现 IDictionary 接口,但是它们以基于键的排序顺序维护元素,没有哈希表的 O(1) 插入和检索特性。这三个类具有若干共性:三个类都实现 System.Collections.IDictionary 接口。两个泛型类还实现 System.Collections.Gener 阅读全文

posted @ 2014-02-26 20:44 鸿鹄168 阅读(449) 评论(0) 推荐(0)

C#动态调用委托的DLL
摘要:被调用的TestDll.dll文件主要代码:using System;using System.Collections.Generic;using System.Text;namespace TestDll{ public class TestDll { public string HandleStr(string str) { return "["+str + "]"; } }}调用TestDll.dll的HandleStr方法的代码:using System;using System.Collections.Generic;using System. 阅读全文

posted @ 2014-02-26 20:40 鸿鹄168 阅读(345) 评论(0) 推荐(0)

18个不常见的C#关键字
摘要:1、__arglist 让我们先从__arglist开始。 __arglist是用来给方法传送参数。通常我们是通过函数头部指定的参数列表给方法传递参数的。如果我们想要给方法传递一组新的参数,我们需要重载方法。如果我们想要传递的参数数量不确定,我们需要使用param数组。我们为什么要使用__arglist,因为上面两种方法,存在的下面问题:a、如果我们使用方法重载,一旦要传递一组新的参数,我们都要增加一个新的函数重载。b、如果我们用param数组,参数类型必须相同或者使用param对象数组。__arglist能解决上面的问题。你可以传递任何参数给函数,可以是任何类型,我们可以使用简单的步骤分析每 阅读全文

posted @ 2014-02-26 20:33 鸿鹄168 阅读(163) 评论(0) 推荐(0)

FileSystemWatcher监视文件变动
摘要:模拟一下如何去监视指定的目录的变动。 1、通过Timer来间隔检测文件夹中的变动,主要是对最后时间进行判断。? 2、能否基于系统提供的Api或类库来实现监视 显然,对于第一种方案是很不科学,也很不好把控的。如果用timer那么将会占用过多的资源,同时对于变动不能很明确的定位,在过深层级下的文件变动通过这种方式将很难遍历到,即便能够遍历到则其中的遍历也会增加系统的复杂度。 然而在Net提供的类中有一个System.IO.FileSystemWatcher 通过命名就可以看出其功效——监视者。于是按照自己的思路进行Demo的编写。usingSystem;usingSystem.Collection 阅读全文

posted @ 2014-02-26 20:32 鸿鹄168 阅读(246) 评论(0) 推荐(0)

C#指定窗口显示位置的方法
摘要:在启动一个程序时,我们希望窗口显示的位置处于屏幕的正中心,可以如下设置:MainForm mainForm = new MainForm();mainForm.StartPosition = FormStartPosition.CenterScreen;mainForm.Show();如果在允许操作主窗口之前,必须先登录,则弹出登录窗口。此时主窗口出现在登录窗口后面,无法进行操作。MainForm mainForm = new MainForm();LoginForm dlg=new LoginForm();dlg.ShowDialog();这里ShowDialog方法表示你必须先操作完dlg 阅读全文

posted @ 2014-02-26 20:31 鸿鹄168 阅读(1597) 评论(0) 推荐(0)

C# 定时器事件(设置时间间隔,间歇性执行某一函数,控制台程序)
摘要:引用using System.Timers;定时器事件代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->staticvoidMain(string[]args){Method();#region定时器事件TimeraTimer=newTimer();aTimer.Elapsed+=newElapsedEventHandler(TimedEvent);aTimer.Interval=seconds*1000;//配置文件中配置的秒数aTime 阅读全文

posted @ 2014-02-26 20:29 鸿鹄168 阅读(640) 评论(0) 推荐(0)

C# winform对话框用法大全
摘要:对话框中我们常用了以下几种:1、文件对话框(FileDialog) 它又常用到两个: 打开文件对话框(OpenFileDialog) 保存文件对话(SaveFileDialog)2、字体对话框(FontDialog)3、颜色对话框(ColorDialog)4、打印预浏对话框(PrintPreviewDialog)5、页面设置(PrintDialog)6、打印对话框(PrintDialog) 还有更多,有时间的网友可以看看MSDN。下面我们一个个来介绍。在介绍的过程中我用到了一个自己开发的类:File,主要是文件操作的。 文件对话框(FileDialog) 一、打开文件对话框(Op... 阅读全文

posted @ 2014-02-26 20:27 鸿鹄168 阅读(362) 评论(0) 推荐(0)

C#调PowerShell在SCVMM中创建虚拟机时,实时显示创建进度
摘要:关于c#调用PowerShell来控制SCVMM,网上有很多例子,也比较简单,但创建虚拟机的过程,是一个很漫长的时间,所以一般来说,创建的时候都希望可以实时的显示当前虚拟机的创建进度。当时这个问题困扰了我了一段时间,但找到方法以后,发现其实很简单。环境: Win server 2008 R2 + Hyper-v + SCVMM2008 R2目的: C#调PowerShell在SCVMM中创建虚拟机时,实时显示创建进度在SCVMM2008R2中手动创建一个vm(虚拟机)时,作业界面中会显示很详细的创建进度,包括有哪些子任务,每个任务的完成度、状态等信息。SCVMM的界面操作是基于Powers.. 阅读全文

posted @ 2014-02-26 20:25 鸿鹄168 阅读(634) 评论(1) 推荐(1)

验证码小程序
摘要:usingSystem;usingSystem.Collections;usingSystem.Configuration;usingSystem.Data;usingSystem.Linq;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.HtmlControls;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingSystem.Xml.Linq;usingSystem.Drawing; 阅读全文

posted @ 2014-02-26 20:23 鸿鹄168 阅读(221) 评论(0) 推荐(0)

.NET程序集延迟签名
摘要:强命名程序集的一个好处是防篡改。假如我有一个程序集MyDll.dll,如果我用我自己的私钥进行签名将程序集中的内容进行哈希处理,其他人如果不知道我的私钥的话,就不能篡改我的这个程序集进行某些恶意的行为。但对于一些大型程序的开发,私钥一般是不公开的,当然,与它匹配的公钥是公开的,可以自由分发。那么如何确保开发人员在开发的过程中使用强命名程序集(如希望将其放到GAC中,因此必然得是强命名程序集)。延迟签名就是为此目的。仍以MyDll.dl为例:1)生成公钥/私钥对 sn -k Company.snk2)提取出公钥,而将私钥另外进行妥善保管 sn -p Company.snk public.snk3 阅读全文

posted @ 2014-02-26 20:22 鸿鹄168 阅读(326) 评论(2) 推荐(0)

c#生成图片验证码,避免被软件识别的完美方案
摘要:图片生成与随机数生成函数Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->1///2///生成随机码3///4///随机码个数5///6privatestringCreateRandomCode(intlength)7{8intrand;9charcode;10stringrandomcode=String.Empty;1112//生成一定长度的验证码13System.Randomrandom=newRandom();14for(inti=0; 阅读全文

posted @ 2014-02-26 20:21 鸿鹄168 阅读(153) 评论(0) 推荐(0)

C#3.0 new features: Object and collection Initializers
摘要:public class Person { public string FirstName {set; get;} public string LastName {set; get;} public int Age; } 以前对Person类成员赋值的过程是这样的: Person person = new Person(); person.FirstName = "Jack"; person.LastName = "li"; person.Age = 11; 利用object initializer的新特性,可以将以上实现过程写成 Person pers 阅读全文

posted @ 2014-02-26 20:20 鸿鹄168 阅读(96) 评论(0) 推荐(0)

VS2005(c#)项目调试疑难问题解决方法锦集
摘要:1.在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序,error: 40 - 无法打开到 SQL Server 的连接)2.SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间。3.出现-------表示“属性”,此处应为“方法”4.未能从程序集“DAL, Version=1.0.0.0, Culture=neutral,PublicKeyToken=null”中加载类型“D 阅读全文

posted @ 2014-02-26 20:19 鸿鹄168 阅读(152) 评论(0) 推荐(0)

C#封装Word常用操作类
摘要:1usingSystem;2usingSystem.Collections.Generic;3usingSystem.Text;4usingMicrosoft.Office.Interop.Word;5usingSystem.Diagnostics;6namespaceOfficeManager7{8publicclassWordClass:IDisposable9{10#region字段11private_Applicationm_WordApp=null;12private_Documentm_Document=null;13privateobjectmissing=System.Refl 阅读全文

posted @ 2014-02-26 20:18 鸿鹄168 阅读(234) 评论(0) 推荐(0)

C#获取Excel架构信息的方法
摘要:使用OleDbConnection.GetOleDbSchemaTable方法可以获取待检索数据源的架构信息,常使用方法如下:DataTable Schemadt =OleDbConnection.GetOleDbSchemaTable(OleDbSchemaGuid.Tables, new[] { null, null, null, "table" });查看Schemadt内数据方法for (int i = 0; i < Schemadt.Rows.Count; i++){Console.WriteLine("SheetName=" + Sch 阅读全文

posted @ 2014-02-26 20:17 鸿鹄168 阅读(187) 评论(0) 推荐(0)

Enterprise Library Logging 快速上手
摘要:这篇文章将演示花费最小的代价使用Microsoft’s Enterprise Library 4.1在你的应用程序中记录日志。下面是一些细节,第一次如何在代码logging Message:下载安装Enterprise Library 4.1 让我们开始,创一个VS控制台程序名叫HelloWorldEntLibLogging,在项目中引用Ent. Lib. logging assembly,如图:为应用程序配制Logging,增加一个App.config在App.config文件上单击右键:在弹出的菜单编辑器选择New | Logging Application Block这时一个新的Logg 阅读全文

posted @ 2014-02-26 20:16 鸿鹄168 阅读(205) 评论(0) 推荐(0)

C# 4.0跨程序集使用"dynamic"
摘要:今天写代码时偷懒用了dynamic,结果遇到问题,运行时始终无法获取dynamic对象的属性。原问题简化后如下:程序集A包含SampleClass类,有一个静态方法,接收一个dynamic类型参数并将其Value属性输出。public class SampleClasspublic static void Output (dynamic result) { Console.WriteLine (result.Value); }}程序集B引用程序集A并调用Output方法:SampleClass.Output (new { Value = something.Curre... 阅读全文

posted @ 2014-02-26 20:14 鸿鹄168 阅读(237) 评论(0) 推荐(0)

c#获取数据库中所有表名称的方法
摘要:在很多情况下我们需要将指定的数据库中的所有表都列出来。在使用c#进行软件开发时,我们有哪些方法可是实现这个目的呢?本人对此进行概要的总结,有以下6中方式可以实现这个目的。1、sqldmoSQLDMO是操作SQLServer的理想的方式,如果您的数据库是SQLServer就可以考虑使用这种方式。在C#中使用SQLDMO需要添加SQLDMO的引用,然后在当前的文件中using SQLDMO;即可以使用SQLDMO。SQLDMO的对象模型大家可以在SQLServer的帮助中获得。 private void GetTabels_DMO(string strServerName,string strUs 阅读全文

posted @ 2014-02-26 20:11 鸿鹄168 阅读(1956) 评论(0) 推荐(1)

c#中Interface的理解
摘要:我的理解:接口就是用来标识类的类型比如有Interface:动物,那么无论是那个class:猫,狗,牛等,只要继承了动物这个接口,那么就要实现动物接口定义的方法同时只要我们看到某个class继承了动物这个接口,那么我们也可以大胆的去调用接口定义的方法另外在c#中一个类可以继承多个接口,也就是说一个类可以有多种类型比如一个人,可以是父母的儿子,妻子的丈夫,公司的职员重要的是,在项目中如果细小的类很多,并且某些类有共同的东西(方法,属性等),我们就可以定义一个接口,让这些类来继承这样,当类A,B,C都继承同一接口时,我们只要熟悉其中某一个类的使用,那么在使用其他类的时候也会十分的方便但是当项目中都 阅读全文

posted @ 2014-02-26 19:45 鸿鹄168 阅读(148) 评论(0) 推荐(0)

File,FileInfo,FileStream,StreamReader的区别与用法
摘要:刚开始学习C#,写一些简单的控制台应用程序:主要是读入文件,处理,然后写入文件。一直对于File,FileInfo,FileStream,StreamReader的概念和用法都很混乱,今天就了解的总结一下。概括的说,File,FileInfo,FileStream是用于文件 I/O 的类,StreamReader是用于从流读取和写入流的类,使用之前都需using System.IO。先定义一个TXT文档路径: string txtpath = (@"D:\C#练习\1.txt"); 要读入这个文档。(1)File 提供用于创建、复制、删除、移动和打开文件的静态方法,并协助创 阅读全文

posted @ 2014-02-26 19:44 鸿鹄168 阅读(415) 评论(0) 推荐(0)

C#串口编程遇到的问题以及解决方法
摘要:最近在做的项目中涉及到串口通信编程,队友在做这一模块的时候遇到了一个相信很多人都可能遇到的问题,那就是接受数据的冲突或者丢失。队友让我帮他调试的时候,足足花了近两个小时才把问题给解决了,现觉得有必要总结一下以给遇到类似问题的朋友一个思路吧~ 问题是这样的,从相应的硬件设备每隔2秒便发送一个大小为15的字节数据,存的是16进制数据,每条数据以7E开头以7E结尾。例如:7E 09 01 1A ... 7E。但是PC端在接受显示的时候却出现了问题,如前五个数据接受正常,接下来的都是以00填充,而剩下的10个数据却出现在下条数据显示的位置。如下所示: 7E 09 01 1A 5C 00 00 00.. 阅读全文

posted @ 2014-02-26 19:43 鸿鹄168 阅读(475) 评论(0) 推荐(0)

C# 3.0扩展方法
摘要:扩展方法解决问题:以往对已存在的类库进行扩展,可行的方式直接对源代码进行修改或者直接派生。扩展方法注意事项:扩展方法必须被定义在一个静态类中,扩展方法自身必须是一个静态方法;扩展方法中的首个参数必须是this,最后紧跟要扩展的类的名称;扩展方法可以被对象实例调用,也可以使用静态类名进行静态调用。扩展方法的使用范围:实例调用:namespace ExtensionMethodObjects{ //1,定义一个静态类public static class ExtensionMethods { //2,定义一个静态方法,该方法扩展object对象。/* * ... 阅读全文

posted @ 2014-02-26 19:42 鸿鹄168 阅读(269) 评论(0) 推荐(0)

c# IEnumerable 接口 及IEnumerator的接口
摘要:1publicinterfaceIEnumerable2 {3//IEnumerable只有一个方法,返回可循环访问集合的枚举数。4 IEnumeratorGetEnumerator();5 }6publicinterfaceIEnumerator7 {8//方法9//移到集合的下一个元素。如果成功则返回为true;如果超过集合结尾,则返回false。10boolMoveNext();11//将集合设置为初始位置,该位置位于集合中第一个元素之前12voidReset();13//属性:获取集合中的当前元素14objectCurrent{get;}15 }16 ... 阅读全文

posted @ 2014-02-26 19:41 鸿鹄168 阅读(108) 评论(0) 推荐(0)

.Net/C#实现支持断点续传多线程下载
摘要:最近在学习用c#来实现多线程下载,终于让我google到了些资料,以下是代码拷贝:namespace Microshaoft.Utils using System; using System.IO; using System.Net; using System.Text; using System.Security; using System.Threading; using System.Collections.Specialized;/// /// 记录下载的字节位置 /// public class DownLoadState private string _FileName;pri.. 阅读全文

posted @ 2014-02-26 19:40 鸿鹄168 阅读(356) 评论(0) 推荐(0)

C#实现程序的版本升级更新
摘要:我们做了程序,不免会有版本升级,这就需要程序有自动版本升级的功能。那么看看我是如何实现程序自动更新的。直接上代码:view plaincopy to clipboardprint?usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Reflection;usingSystem.IO;usingSystem.Net;usingSystem.Xml;namespaceUpdate{//////更新完成触发的事件///publicdelegatevoidUpdateState();//////程序更新//. 阅读全文

posted @ 2014-02-26 19:39 鸿鹄168 阅读(453) 评论(0) 推荐(0)

C#实现动态桌面背景图片切换
摘要:问题描述:凝视桌面背景,突感如果桌面背景是变化的像win7一样,该多有意思啊。闹钟瞬间产生一个念头,用C#写一个动态切换桌面背景的图片。如何实现这个想法了,我思考了一会儿,想到了如下的一些需要解决的问题: (1):以何种方式实现切换图片,才能更符合客户的要求。 (2):C#使用什么技术来切换桌面的背景图片。 (3):如何存储和读取图片。问题解决: (1):以何种方式呈现呢?控制台?winform?最后思考后,决定用windows services来实现。因为它可以随windows启动而启动,而且在用户不知不觉中改变,默默无为做自己的事情,简单。我以前没搞过windows service... 阅读全文

posted @ 2014-02-26 19:37 鸿鹄168 阅读(1245) 评论(0) 推荐(0)

邮件发送组件
摘要:1.先添加引入命名空间 System.Net.Mail2.组件代码:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->//////邮件发送组件///publicclassEmailUtils{staticEmailUtils(){MailHost=ConfigurationManager.AppSettings["mailHost"];MailUserName=ConfigurationManager.AppSettings 阅读全文

posted @ 2014-02-26 19:34 鸿鹄168 阅读(183) 评论(0) 推荐(0)

C#做托盘程序
摘要:所谓托盘程序顾名思义就是象托起的盘子一样的程序。而所谓的托起的盘子就是程序运行中显示出的图标,而托起的位置就是视窗系统的的工具栏了。托盘程序具有直观、占用屏幕空间较小并且可以为它定义多个功能菜单,这就给操作者带来了方便,所以越来越多的程序设计者都把程序设计成托盘这种方式。我们已经看过了用其他语言设计托盘程序的例子,其中的大部分,整个设计过程还是相对烦琐的。而对于微软公司极力推荐的下一代程序开发语言--Visual C#来说,却可以十分方便设计出一个托盘程序。本文就是介绍Visual C#设计托盘程序的具体过程。 首先来介绍一下本文中设计托盘程序所需要的环境: (1).微软公司视窗2000... 阅读全文

posted @ 2014-02-26 19:33 鸿鹄168 阅读(412) 评论(0) 推荐(0)

C#压缩图片,可以指定图片模板高宽
摘要:今天要在web程序处理图片,指定图片的高宽大小。google了一把资料。觉得此方法挺不错的,大家可以借鉴一下,如果小弟写的有不对的地方请大家指点一下:以下代码在winform写的,在web下测试可以使用。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->//生成缩略图函数//顺序参数:源图文件流、缩略图存放地址、模版宽、模版高//注:缩略图大小控制在模版区域内publicstaticvoidMakeSmallImg(System.IO.St 阅读全文

posted @ 2014-02-26 19:32 鸿鹄168 阅读(331) 评论(0) 推荐(0)

Request.UrlReferrer详解
摘要:使用前需要进行判断: if (Request != null && Request.UrlReferrer != null && Request.UrlReferrer.PathAndQuery != null) { string previousURL = Request.UrlReferrer.PathAndQuery; }实例说明:Request.UrlReferrer可以获取客户端上次请求的url的有关信息。这样我们就可以通过这个属性返回到“上一页”,示例如下1. 首先在Page_load中获得并储存该信息Page_load(object obj,Eve 阅读全文

posted @ 2014-02-26 19:31 鸿鹄168 阅读(168) 评论(0) 推荐(0)

C#修改时间的显示格式,支持多语言,支持不同的国度
摘要:对于时间的显示,不同的地方有不同的需求,不同的文化有不同的需求,代码如下:public class Common_DateFormat{ public Common_DateFormat() { // // TODO: Add constructor logic here // } /***********************************************/ //常用的cultureName只列表,变量cultureName的值为区域性名称,如zh-CN //区域性名称 语言-国家/地区 //zh-CN 中文 - 中国 //zh-TW 中文 - 台湾 //en-US... 阅读全文

posted @ 2014-02-26 19:29 鸿鹄168 阅读(405) 评论(0) 推荐(0)

C#编写的Windows窗体程序怎样打包、卸载
摘要:1 新建安装部署项目 打开VS,点击新建项目,选择:其他项目类型->安装与部署->安装向导(安装项目也一样),然后点击确定。 2 安装向导 关闭后打开安装向导,点击下一步,或者直接点击完成。 3 开始制作 安装向导完成后即可进入项目文件夹: 双击"应用程序文件夹"在右边的空白处右击,选择添加->文件,将你的做的应用程序的可执行文件和相应的类库和组件添加进来。然后右击你的文件,创建快捷方式,然后把快捷方式分别复制或剪切到左边的"用户的'程序'菜单"和"用户桌面"中。这样安装程序安装完成后会在 " 阅读全文

posted @ 2014-02-26 19:27 鸿鹄168 阅读(163) 评论(0) 推荐(0)

c# 移动窗体和控件
摘要:在winform程序里面,有时候我们需要移动没有标题栏窗体或是窗体内的控件,用几个事件如鼠标单击,移动,等再加上坐标的计算可以完成这一功能,但是最近发现了一个API函数,可以非常简单方便的完成这个功能。如下:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->[DllImportAttribute("user32.dll")]privateexternstaticboolReleaseCapture();[DllImpor 阅读全文

posted @ 2014-02-26 19:26 鸿鹄168 阅读(132) 评论(0) 推荐(0)

C#导入XLS数据到数据库
摘要:实现代码如下:usingSystem;usingSystem.Collections;usingSystem.Configuration;usingSystem.Data;usingSystem.Web;usingSystem.Web.Security;usingSystem.Web.UI;usingSystem.Web.UI.HtmlControls;usingSystem.Web.UI.WebControls;usingSystem.Web.UI.WebControls.WebParts;usingFood.BLL;usingFood.Models;usingFood.DAL;public 阅读全文

posted @ 2014-02-26 19:24 鸿鹄168 阅读(128) 评论(0) 推荐(0)

C# 多种方式播放Wav声音
摘要:usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.Media;usingSystem.Resources;usingSystem.IO;namespaceSoundPlayerApp{publicpartialclassForm1:Form{privateSoundPlayersimpleSound;publicForm1 阅读全文

posted @ 2014-02-26 19:23 鸿鹄168 阅读(304) 评论(0) 推荐(0)

C#可逆加密算法收集
摘要:最近要用到这个顺带收集下 以下是关于对称加密算法的C#实现代码,大家可以根据需要更改不同的算法,文中以Rijndael算法为例:view plaincopy to clipboardprint? using System; using System.IO; using System.Security.Cryptography; using System.Text; namespace DataCrypto { /// /// 对称加密算法类 /// public class SymmetricMethod { private Symmetr... 阅读全文

posted @ 2014-02-26 19:22 鸿鹄168 阅读(390) 评论(0) 推荐(0)

Total Commander里Help菜单在菜单栏右对齐的效果的实现方法
摘要:Total Commander里Help菜单在菜单栏右对齐的效果是什么原理,用C#怎么做?如图:谢谢 游民一族 的指点,终于找到方法了。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->[StructLayout(LayoutKind.Sequential)]publicclassMenuItemInfo{publicInt32cbSize;publicInt32fMask;publicInt32fType;publicInt32fState; 阅读全文

posted @ 2014-02-26 19:21 鸿鹄168 阅读(105) 评论(0) 推荐(0)

Type.GetType()在跨程序集反射时返回null的解决方法
摘要:在开发中,经常会遇到这种情况,在程序集A.dll中需要反射程序集B.dll中的类型。如果使用稍有不慎,就会产生运行时错误。例如使用Type.GetType("BNameSpace.ClassName")在程序集A.dll获取程序集B.dll中的类型,就会返回Null。关于跨程序集的反射,有两点需要注意:1、如果使用typeof,编译能通过,则跨程序集的反射一定可以正常运行。可以说,typeof是支持强类型的。比如Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHig 阅读全文

posted @ 2014-02-26 19:20 鸿鹄168 阅读(110) 评论(0) 推荐(0)

c#实现文件上传-忽略Byte编码格式
摘要:#region ftp的上传功能//////ftp的上传功能///////////////publicstaticvoidUpload(stringftpServerIP,stringfilename,stringftpUserID,stringftpPassword){FileInfofileInf=newFileInfo(filename);stringuri="ftp://"+ftpServerIP+"/"+fileInf.Name;FtpWebRequestreqFTP;//根据uri创建FtpWebRequest对象reqFTP=(FtpWeb 阅读全文

posted @ 2014-02-26 19:16 鸿鹄168 阅读(214) 评论(0) 推荐(0)

C#窗体读取EXCEL存入SQL数据库
摘要:windows窗体上放了一个Textbox1,2个按钮button1和button2~按button1选择excel文件~按button2进行相关处理Code Snippet privatevoidbutton1_click(objectsendeer,EventArgse) { OpenFileDialogopenFiledialog1=newOpenFileDialog(); openFileDialg1.filter="Excel文件|*.xls"; openFileDialg1.ShowDi... 阅读全文

posted @ 2014-02-26 19:14 鸿鹄168 阅读(117) 评论(0) 推荐(0)

C#中QQ协议TEA加密解密代码
摘要:网上找到的qq协议的TEA加密和解密说明如下: 也有很多源代码,但是感觉上代码比较复杂,不容易看。我用C#重写了下。 * QQ消息的加密算法是一个16次的迭代过程,并且是反馈的,每一个加密单元是8字节,输出也是8字节,密钥是16字节 * 我们以prePlain表示前一个明文块,plain表示当前明文块,crypt表示当前明文块加密得到的密文块,preCrypt表示前一个密文块 * f表示加密算法,d表示解密算法 那么从plain得到crypt的过程是: * crypt = f(plain ^ preCrypt) ^ prePlain * 所以,从crypt得到plain的过程自然是 * p.. 阅读全文

posted @ 2014-02-26 19:13 鸿鹄168 阅读(535) 评论(0) 推荐(0)

我对App_Code的理解
摘要:个人对App_Code的理解:建立全站的通用类,打开网站时即时编译App_Code文件夹下面的.cs文件。在App_Code文件夹下面的.cs文件中的类,在每个文件里都可以调用。。个人对namespace的理解:比如:在App_Code/a.cs中有namespacetestA在网站的根目录下的default.aspx.cs文件中也有namespacetestA,那么在此文件中就可以直接调用App_Code/a.cs 中的类名。如果在网站的根目录下的default.aspx.cs文件中是namespacetestB那么想要使用App_Code/a.cs中有 namespacetestA的类名就 阅读全文

posted @ 2014-02-26 19:12 鸿鹄168 阅读(178) 评论(0) 推荐(0)

C#转换Unix时间戳
摘要:由于数据导入,碰到mysql数据表中有Unix时间戳无法导入sql server数据库,后面就先通过C#程序转换时间格式,再导入到sql server数据表string timeStamp = "1191030513613";DateTime dtStart = TimeZone.CurrentTimeZone.ToLocalTime(new DateTime(1970, 1, 1));long lTime = long.Parse(timeStamp + "0000"); //说明下,时间格式为13位后面补加4个"0",如果时间格式 阅读全文

posted @ 2014-02-26 14:00 鸿鹄168 阅读(109) 评论(0) 推荐(0)

写了个C#的排列类
摘要://-----------------------------------------------------------------------------////算法:排列类////版权所有(C)Snowdust//个人博客http://blog.csdn.net/snowdust&http://snowdust.cnblogs.com//MSN&Emailsnowdust77@sina.com////此源代码可免费用于各类软件(含商业软件)//允许对此代码的进一步修改与开发//但必须完整保留此版权信息////调用方法如下:////1.GetPermutation(T[], 阅读全文

posted @ 2014-02-26 13:59 鸿鹄168 阅读(100) 评论(0) 推荐(0)

C#中的多态
摘要:对于多态比较专业的解释,从这篇文章里面可以找到《重新认识抽象类和接口的区别》中一些问题的答案。一、什么是多态 面向对象程序设计中的另外一个重要概念是多态性。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。可以把一组对象放到一个数组中,然后调用它们的方法,在这种场合下,多态性作用就体现出来了,这些对象不必是相同类型的对象。当然,如果它们都继承自某个类,你可以把这些派生类,都放到一个数组中。如果这些对象都有同名方法,就可以调用每个对象的同名方法。 同一操作作用于不同的对象,可以有不同的解释,产生不同的执行结果,这就是多态性。多态性通过派生类重载基类中的虚函数型方法来实现。 ... 阅读全文

posted @ 2014-02-26 13:57 鸿鹄168 阅读(162) 评论(0) 推荐(0)

C#笔记之as 运算符
摘要:as 运算符as 运算符用于在兼容的引用类型之间执行转换。例如:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->strings=someObjectasstring;if(s!=null){//someObjectisastring.}备注as 运算符类似于强制转换操作。但是,如果无法进行转换,则 as 返回 null 而非引发异常。请看下面的表达式:expression as type它等效于以下表达式,但只计算一次 expression。 阅读全文

posted @ 2014-02-26 13:56 鸿鹄168 阅读(142) 评论(0) 推荐(0)

Base24编码C#类库
摘要:Base24编码一般用于序列号的生成,在Base64编码的基础上去掉了特殊字符和容易混淆的字符,如1和l,0和O,Winxp和Office的序列号都是基于此编码(用25个base 24字符表示114 bits)。其基本原理是使用7个base24字符编码32bits,7个base24字符的数据范围是24的7次方也就是4,586,471,424,而32bits的数据范围是:4,294,967,296。能够包括所有数据且有一定余量。下面给出C#实现:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.C 阅读全文

posted @ 2014-02-26 13:54 鸿鹄168 阅读(454) 评论(0) 推荐(0)

C#数据库帮助类,包括新建数据库,删除数据库,还原数据库
摘要:数据库连接字符串从配置文件读取。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->usingSystem;usingSystem.Collections;usingSystem.Collections.Specialized;usingSystem.Data;usingSystem.Data.SqlClient;usingSystem.Configuration;usingSystem.Data.Common;usingSystem.Col 阅读全文

posted @ 2014-02-26 13:52 鸿鹄168 阅读(207) 评论(0) 推荐(0)

C#读取CSV文件的四种方法
摘要:Code 1: 用一个System.Web.UI.HtmlControls.HtmlInputFile去handle文件选取。 以下是button click event中的code,用来执行当文件选取了之后读取文件的内容。 1 System.Web.HttpPostedFile input = Request.Files[0];23 if (input != null && input.ContentLength != 0)4 {5 string path = input.FileName.ToString();6 Sy... 阅读全文

posted @ 2014-02-26 13:50 鸿鹄168 阅读(4866) 评论(0) 推荐(0)

仿QQ会员右下角提示框c#实现,提示窗体不获得焦点
摘要:虽说有不获得焦点的窗体的例子,可是我并不知道怎么实现,所以还是让自己的这样 "不获得焦点的窗体"先获得,然后再把焦点还给他之前的那个焦点窗体刚开始想的不用API,用Application.OpenForms得到自己程序所有窗体,然后再显示自己,当然就会得到焦点,然后以前的有焦点的就会有失去焦点的事件,但没出来,换API,思路大至一样.用到API [System.Runtime.InteropServices.DllImport("user32.dll")] public static extern IntPtr GetActiveWindow();//获 阅读全文

posted @ 2014-02-26 13:49 鸿鹄168 阅读(144) 评论(0) 推荐(0)

C#动态调用C++编写的DLL函数
摘要:动态加载DLL需要使用Windows API函数:LoadLibrary、GetProcAddress以及FreeLibrary。我们可以使用DllImport在C#中使用这三个函数。 [DllImport("Kernel32")] public static extern int GetProcAddress(int handle, String funcname); [DllImport("Kernel32")] public static extern int LoadLibrary(String funcname); [DllImport(&qu 阅读全文

posted @ 2014-02-26 13:48 鸿鹄168 阅读(211) 评论(0) 推荐(0)

当心Dictionary带来的一种隐式内存泄漏
摘要:最近在看Dictionary的源代码的时候, 突然想到Dictionary的不当使用中有一种隐含内存泄漏的可能.简化使用场景 小A正在写一个简单的图书销售系统. 他首先需要处理的是订单和订单里面对应的书目集合. 接着他发现自己需要一个特定的内存结构, 来临时保存所有的订单及其伴随的销售书目集合, 以减小对数据库的压力. 小A想到了词典Dictionary这个保存关联数据最好用的结构 - 将订单Order对象做为键, 将对应的销售书目Books作为值, 保存在词典中. 订单中包含订单ID/订货人ID/订货时间. 小A知道, 要想将Order对象作为键, 他必须重写Order类的GetHashCo 阅读全文

posted @ 2014-02-26 13:47 鸿鹄168 阅读(167) 评论(0) 推荐(0)

A+=B和A=A+B真的有区别吗?
摘要:今天看到一篇文章,是关于在.NET中如何提升程序性能的,里面有这样一条:建议使用+=、-= 等简化操作符例如原有表达式 A=A+B 改为A+=B 这样不仅减少了敲入代码的数量,而且由于变量A只出现一次,在运行时也提高了系统的性能。确实这样的操作能减少输入,但是对于是否真能提高性能,以及以什么方式来提高性能(是优化了代码还是节省了空间等),确实不太知道,带着好奇心,自己动手试试了。首先写了两个测试方法:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/--& 阅读全文

posted @ 2014-02-26 13:44 鸿鹄168 阅读(156) 评论(0) 推荐(0)

c#调用dll,::CoInitialize(NULL)出错
摘要:用c#调用vc6的dll,dll中有这样一句if(FAILED(::CoInitialize(NULL))) return false;不知道为什么,用c#调用时,CoInitialize(NULL) 会fail ;解决办法:不判断CoInitialize(NULL)的返回值,直接执行,搞定。 阅读全文

posted @ 2014-02-26 13:40 鸿鹄168 阅读(243) 评论(0) 推荐(0)

C#深度优先遍历结构算法
摘要:N久都没做过关于C#的WinForm程序了,一直都是在研究asp.net的程序。 今天有个朋友问到深度遍历图这样的问题,开始都不知道如何下手,就问了问baidu 和 google,看到有人用C++写的这样的例子,顺便就学习了一下,发现自己都忘得差不多了(包括:数据结构),只能联想到刚开始学vs2003的时候,学习的第一个Hello Worl的例子,要创建一个控制台应用程序。 接着就打开VS2005,新建——>项目——>控制台应用程序 代码如下:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http 阅读全文

posted @ 2014-02-26 13:39 鸿鹄168 阅读(1045) 评论(0) 推荐(0)

循环引用的解决方法
摘要:项目架构:系统中的各功能都是分开在每个dll中实现的,主程序中加载各个菜单对应的dll。对于一些重复性比较高的功能代码,可以写在一个主dll里供其他功能调用,直接引用主dll就可以实现。Main.exe 主程序。Core.dll 公共接口和存贮缓存等。T1.dll 功能1T2.dll 功能2现在项目有这样的需求:要求两个功能之间相互调用,即T1.dll中在T1.MainForm中点击Button1去调用T2.dll中T2.MainForm中的相应功能,反之亦然,T2.MainForm点击Button1调用T1.dll功能。这时就遇到了问题,直接在工程中引用dll就会出现循环引用。所以得另辟蹊径 阅读全文

posted @ 2014-02-26 13:38 鸿鹄168 阅读(476) 评论(0) 推荐(0)

C#创建Windows服务(Windows Services) 实战之系统定时重启服务
摘要://服务器重启服务,作者:柳永法 www.yongfa365.comusing System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Diagnostics;using System.ServiceProcess;using System.IO;using System.Text;using System.Timers;namespace CBDCN_reboot{ public partial class Service1 : ServiceBase 阅读全文

posted @ 2014-02-26 13:37 鸿鹄168 阅读(496) 评论(0) 推荐(0)

提高C#编程水平的50个要点
摘要:1.总是用属性 (Property) 来代替可访问的数据成员 2.在 readonly 和 const 之间,优先使用 readonly 3.在 as 和 强制类型转换之间,优先使用 as 操作符 4.使用条件属性 (Conditional Attributes) 来代替条件编译语句 #if 5.总是为自定义类重载 ToString 方法 6.区别值类型和引用类型 7.使用不可变的值类型(Immutable Atomic Value Types) 8.在值类型中,确保0是一个合法的数据 9.理解 ReferenceEquals, static Equals, instance Equals 和 阅读全文

posted @ 2014-02-26 13:37 鸿鹄168 阅读(107) 评论(0) 推荐(0)

C#绘制正弦曲线
摘要:题目是这样的,就是让任务管理器里面的 CPU 曲线以一条平衡的百分之五十的直线显现出来,然后再写另外一个程序让 CPU 曲线以正弦曲线的形式显现出来,呵呵,很有趣吧,昨晚看着看着都入迷了,不过由于太晚,所以没有太注意,不过有一个我还是有点好奇的,因为我以前没有写过正弦曲线出来,所以早上一起来便写正弦曲线,当然这条正弦曲线并不能使 CPU 曲线以正弦曲线显示,而是纯粹的以一张图片来返回正弦曲线如果哪位牛人有兴趣的话,那绝对可以尝试一下上面的那个题目,这种问题都想得出,太牛逼了,呵呵大致代码如下try{ using (Bitmap sinImage = new Bitmap(360, 120)) 阅读全文

posted @ 2014-02-26 13:36 鸿鹄168 阅读(697) 评论(0) 推荐(0)

C#语言学习之关键字
摘要:static 修饰符声明类成员属于类,而不属于类的实例。static 修饰符指明成员属于类本身而不属于类的实例。即使创建了类的多个实例,给定应用程序中只存在 static 成员的一个副本。您只能通过对类的引用(而不是对实例的引用)来访问 static 成员。但是,在类成员声明中,可以通过 this 对象来访问 static 成员。类的成员可以使用 static 修饰符来标记。类、接口和接口的成员不能采用 static 修饰符。不能将 static 修饰符与任何继承修饰符(abstract 和 final)或版本安全修饰符(hide 和 override)组合。不要将 static 修饰符同 s 阅读全文

posted @ 2014-02-26 13:34 鸿鹄168 阅读(131) 评论(0) 推荐(0)

C#中string和StringBuilder的选择
摘要:很多地方都讲,在做字符串拼接的时候StringBuilder比string快,并且快得多。事实是,StringBuilder比string快的原因是string拼接时产生了中间对象,最终是垃圾。如:string str = "a";str += "b";str += "c";那么,最终结果是"abc",但第二行产生了"ab"只是一个中间对象,是个垃圾。用StringBuilder会避免这种中间对象的产生。那如果我这么写呢?string str = "a" + "b& 阅读全文

posted @ 2014-02-26 13:32 鸿鹄168 阅读(93) 评论(0) 推荐(0)

c#设置文件属性
摘要:设置文件属性 string filePath = @"d:\file"; DirectoryInfo dir = new DirectoryInfo(filePath); FileInfo[] fileInfo = dir.GetFiles(); foreach (FileInfo file in fileInfo) { string fileName = file.FullName; File.SetAttributes(fileName,FileAttributes.Hidden); } }... 阅读全文

posted @ 2014-02-26 13:31 鸿鹄168 阅读(680) 评论(0) 推荐(0)

C#如何判断字符串是否为空串?
摘要:其实用过C#的人都知道它会建议你使用String.Length属性来判断字符串是否为空串,但你又是否明白其中的缘由呢?今天有点闲,特意写下这篇文章,希望有点帮助。1. 三种常用的字符串判空串方法:Length法:bool isEmpty = (str.Length == 0);Empty法:bool isEmpty = (str == String.Empty);General法:bool isEmpty = (str == ""); 2. 深入内部机制:要探讨这三种方法的内部机制,我们得首先看看.NET是怎样实现的,也就是要看看.NET的源代码!然而,我们哪里找这些源代码 阅读全文

posted @ 2014-02-26 13:29 鸿鹄168 阅读(890) 评论(0) 推荐(0)

用C#读取txt文件的方法
摘要:1、使用FileStream读写文件文件头:using System;using System.Collections.Generic;using System.Text;using System.IO;读文件核心代码:byte[] byData = new byte[100];char[] charData = new char[1000];try{FileStream sFile = new FileStream("文件路径",FileMode.Open);sFile.Seek(55, SeekOrigin.Begin);sFile.Read(byData, 0, 10 阅读全文

posted @ 2014-02-26 13:27 鸿鹄168 阅读(498) 评论(0) 推荐(0)

使用.NET简化RSS操作
摘要:在本文开始之前,我们首先有必要了解一下什么是RSS,以及RSS的使用规则。第一节 RSS 2.0规范本节来源:http://blogs.law.harvard.edu/tech/rss译文来源:http://tonyqus.cnblogs.com/archive/2005/01/30/93684.aspx什么是RSS?RSS是一种网页内容联合格式(web content sydication format)。它的名字是Really Simple Syndication的缩写。RSS是XML的一种。所有的RSS文档都遵循XML 1.0规范,该规范发布在W3C网站上。在一个RSS文档的开头是一个节 阅读全文

posted @ 2014-02-26 13:26 鸿鹄168 阅读(229) 评论(0) 推荐(0)

C#在单独进程中运行.exe文件并获取输出
摘要:有时在程序中需要运行其它的程序并获得输出的结果来进行进一步的处理。.NET框架已经提供了相应的类和方法,我们可以十分方便的实现我们的目标。下面这个例子是我以前用到的,主要用到了Process 类和ProcessStartInfo类。Process类的主要作用是提供对本地和远程进程的访问并使您能够启动和停止本地系统进程。ProcessStartInfo类的主要作用是为Process类指定启动进程时使用的一组值。代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.c 阅读全文

posted @ 2014-02-26 13:24 鸿鹄168 阅读(1234) 评论(0) 推荐(0)

微软原版SQLHelper类
摘要:1//===============================================================================2//MicrosoftDataAccessApplicationBlockfor.NET3//http://msdn.microsoft.com/library/en-us/dnbda/html/daab-rm.asp4//5//SQLHelper.cs6//7//ThisfilecontainstheimplementationsoftheSqlHelperandSqlHelperParameterCache8//classes 阅读全文

posted @ 2014-02-26 13:23 鸿鹄168 阅读(403) 评论(0) 推荐(0)

C#实现简易RSS
摘要:代码如下,欢迎指正usingSystem;usingSystem.Collections.Generic;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Drawing;usingSystem.Text;usingSystem.Windows.Forms;usingSystem.IO;usingSystem.Net;usingSystem.Xml;usingSystem.Collections;namespaceFinallyDemo{publicpartialclassfrmRSS:Form{publicfrmRSS(){Ini 阅读全文

posted @ 2014-02-26 13:22 鸿鹄168 阅读(109) 评论(0) 推荐(0)

VS2010中C#的增强
摘要:选择一种开发语言是程序员的个人选择,就像挑选一种冰激凌口味——有许多不错的选择,但你最喜欢的口味则是一个个人偏好的问题。在Visual Studio 2010中,我们对两种最流行的语言:Visual Basic和C#做了一些加强,提供给程序员——无论他们偏好哪种语言——所有的工具,帮助他们去完成一个完美的软件。Visual Basic略……C#C#4.0主要的改进在于动态编程范式的共用性以及Office的可编程性改进。动态查询,是C#4.0的新功能,使你可以以同样的方式使用并操作IronPython、IronRuby、 JScript、HTML DOM或者标准.NET库中的对象。诸如指定和可选 阅读全文

posted @ 2014-02-26 13:22 鸿鹄168 阅读(128) 评论(0) 推荐(0)

在C#中调用存储过程
摘要:调用存储过程时主要会涉及到两种状况:一种是执行而不需要返回值,例如删除、修改等;另一种是执行并且要求有返回值,例如查询。在C#中调用存储过程时主要会用到两个类SqlCommand和SqlDataAdapter,SqlCommand类的CommandType属性可以获取或设置要对数据源执行的Transact-SQL语句或存储过程。当SqlCommand与存储过程关联起来之后就可以通过SqlCommand类来执行。另一种执行方法则是通过SqlDataAdapter类的Fill方法,SqlDataAdapter类的Fill方法不仅会执行存储过程同时会将结果放入结果集中。 示例 C#中调用存储过程首先 阅读全文

posted @ 2014-02-26 13:20 鸿鹄168 阅读(346) 评论(0) 推荐(0)

学习DXperience
摘要:用过DXperience之后,我发现这是个不错的东东。可能有人要问了,DXperience是什么?简单的说,就是开发软件用的界面库,支持VB和C#语言,至于其它语言我没关注过。如果还有人问界面库又是什么?那就顺便也说一下。界面库对于一个软件的开发来说,不是必要的,它就像一个女人的化妆包,能使我们的软件外观看起来更漂亮、更专业(客户说的,借用一下)。 好的界面库可以为我们在软件的外观设计上省下不少的时间和精力。当然,好东西不是免费的——毕竟制作它的公司还有一大把人需要吃饭。虽然DXperience已经设计得与系统自带的控件大体上接近,但想用好它也不是一朝一夕的事情。 废话不再多说,现在就开始记下 阅读全文

posted @ 2014-02-26 13:18 鸿鹄168 阅读(208) 评论(0) 推荐(0)

C#使用预处理SQL语句访问MySQL的方法(Parameter)
摘要:代码:MySqlConnection con = null; MySqlCommand cmd = null; string nameStr = "Sample value passed \”"; con = new MySqlConnection("server=localhost;database=db_name;uid=user;pwd=password;pooling=false;"); con.Open(); cmd = new MySqlCommand("insert into MyTable values (null, ?ParN 阅读全文

posted @ 2014-02-26 13:14 鸿鹄168 阅读(544) 评论(0) 推荐(0)

C#泛型演示
摘要:class Stack{ private T[] store; private int size public Stack() { store = new T[10]; size = 0;}public void Push(T x){ store[size++] = x;}public void T Pop(){ return store[--size];}}Stack x = new Stack();x.Push(17);泛型简介 所谓泛型:即通过参数化类型来实现在同一份代码上操作多种数据类型。泛型编程是一种编程范式,它利用“参数化类型”将类型抽象化,从而实现更为灵活的复用。 C#泛型赋予了 阅读全文

posted @ 2014-02-26 13:12 鸿鹄168 阅读(99) 评论(0) 推荐(0)

C#读取系统文件图标
摘要:using System;using System.Collections;using System.Text;using System.Runtime.InteropServices;using System.Drawing;namespace TOA.Common{/// /// GetIcon 的摘要说明。/// public class ShellImages{#region DLLIMPORT// Retrieves information about an object in the file system,// such as a file, a folder, a direct 阅读全文

posted @ 2014-02-26 13:09 鸿鹄168 阅读(283) 评论(0) 推荐(0)

c#.net利用RNGCryptoServiceProvider产生任意范围强随机数的办法
摘要://这样产生0~100的强随机数(含100)intmax=100;intrnd=int.MinValue;decimal_base=(decimal)long.MaxValue;byte[]rndSeries=newbyte[8];System.Security.Cryptography.RNGCryptoServiceProviderrng=newSystem.Security.Cryptography.RNGCryptoServiceProvider();rng.GetBytes(rndSeries);//不含100需去掉+1rnd=(int)(Math.Abs(BitConverter. 阅读全文

posted @ 2014-02-26 13:08 鸿鹄168 阅读(225) 评论(0) 推荐(0)

Tips in Visual Studio 2008
摘要:.NET几乎程序员都在使用visual studio 2008进行开发。可是,你通过它达到最大的开发效率了吗?开发可以分为understanding、navigating、modifying、writing、dubugging五个阶段:下面,就Understanding & Navigating阶段来间接visual studio 2008的高效应用。其中,用到了DevExpress CodeRush Xpress插件。注:标注有[CRX]的是使用了CodeRush Xpress插件。1、使用class designer,分析类关系图:你的代码类关系错综复杂的话,这将非常有用。。2、Q 阅读全文

posted @ 2014-02-26 13:07 鸿鹄168 阅读(140) 评论(0) 推荐(0)

C#怎样判断文件是否存在和文件夹是否存在
摘要:如果是目录可用:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->DirectoryInfoTheFolder=newDirectoryInfo(PathName);if(TheFolder.Exists){//。。。。。。。。。。。。。}如果是文件可用:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/- 阅读全文

posted @ 2014-02-26 13:05 鸿鹄168 阅读(146) 评论(0) 推荐(0)

c# 静态构造函数
摘要:class GoodClass{ static GoodClass() { }} 这是一个静态的构造方法,与普通的构造方法不同的是:他是属于这个类的。只会实例化一次,当实例化对象后,并不会调用该方法。在实例化之前 或者调用任何静态方法前执行这个构造方法,由.net自行调用! 一下是需要注意到几点:1.静态构造方法,没有public之类的修饰符,因为它是由.NET自行调用。2.当实例化类,或者调用任何静态方法之前,自动调用,不能由我们自己控制3.只能有一个静态的构造方法。4.可以和普通构造方法同时使用,普通构造方法属于实例,静态构造属于类。5.最多只能运行一次6.静态构造方法不能被继承7.如果. 阅读全文

posted @ 2014-02-26 12:59 鸿鹄168 阅读(105) 评论(0) 推荐(0)

C#编写的一个邮件的发送类
摘要:using System;using System.ComponentModel;using System.Text;using System.Net;using System.Net.Mail;namespace Smtp{ public class SmtpMail { private string toAddress = ""; private string mailUser = ""; private string userPassword = ""; private string displayName = "&q 阅读全文

posted @ 2014-02-25 20:36 鸿鹄168 阅读(105) 评论(0) 推荐(0)

如何使用C#操作SQLite数据库
摘要:前面的文章已经介绍了SQLite数据库和ADO.NET Provider for SQLite, 现在介绍下如何使用c#操作SQLite数据库。1. 到 http://sourceforge.net/projects/sqlite-dotnet2/files/下载ADO.NET provider for the SQLite database engine. 然后安装。2. 在VS 2005 新建控制台程序,然后添加引用System.Data.SQLite.dll,该文件在ADO.NET provider for the SQLite 安装目录的bin目录下。3. using 该命名空间,就可 阅读全文

posted @ 2014-02-25 20:34 鸿鹄168 阅读(157) 评论(0) 推荐(0)

C#通过POST发送数据函数,类似asp中的xmlhttp
摘要:1//purl处理页面,str参数(如:username=admin&passwod=123456)23//返回处理页面输出的内容45//使用:stringdata=PostData(http://www.soaspx.com/,"action=Fav&str=这个是好网站");67publicstaticstringPostData(stringpurl,stringstr)8{9try10{11byte[]data=System.Text.Encoding.GetEncoding("GB2312").GetBytes(str);12/ 阅读全文

posted @ 2014-02-25 20:33 鸿鹄168 阅读(115) 评论(0) 推荐(0)

C#的多态性
摘要:多态是面向对象编程中三大机制之一,其原理建立在"从父类继承而来的子类可以转换为其父类"这个规则之上,换句话说,能用父类的地方,就能用该类的子类.当从父类派生了很多子类时,由于每个子类都有其不同的代码实现,所以当用父类来引用这些子类时,同样的操作而可以表现出不同的操作结果,这就是所谓的多态1.了解什么是多态性2.如何定义一个虚方法3.如何重载一个虚方法4.如何在程序中运用多态性面向对象程序设计中的另外一个重要概念是多态性。在运行时,可以通过指向基类的指针,来调用实现派生类中的方法。 可以把一组对象放到一个数组中,然后调用它们的方法,在这种场合下,多态性作用就体现出来了,这些对 阅读全文

posted @ 2014-02-25 20:32 鸿鹄168 阅读(113) 评论(0) 推荐(0)

c# as is 类型转换
摘要:关于类型的判断和转换有is和as这2个操作符。具体区别和用法如下is就是处于对类型的判断。返回true和false。如果一个对象是某个类型或是其父类型的话就返回为true,否则的话就会返回为false。另外is操作符永远不会抛出异常。代码如下:System.Boolean b1 = (o is System.Object);//b1 为trueSystem.Boolean b2 = (o is Employee);//b2为false如果对象引用为null,那么is操作符总是返回为false,因为没有对象可以检查其类型,就像下面代码一样if(o is Employee) { Employee 阅读全文

posted @ 2014-02-25 20:31 鸿鹄168 阅读(165) 评论(0) 推荐(0)

C#备份还原MySql数据库
摘要:通过调用MySql的工具mysqldump来实现。类Cmd来实现调用cmd命令,要启动的进程所在的目录是说mysql自动的备份还原数据库工具mysqldump和mysql所在目录,当然,这个方法可以执行别的命令行工具。Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->usingSystem;usingSystem.Collections.Generic;usingSystem.Text;usingSystem.Diagnostics;publi 阅读全文

posted @ 2014-02-25 20:30 鸿鹄168 阅读(319) 评论(0) 推荐(0)

C#开发QQ农场外挂实践
摘要:闲来无聊,国庆期间看别人在玩农场,我也开通了一下,发现钱不够,偷起来很麻烦,所以想写一个自动偷菜的程序,因此有了这篇文章:QQ农场是基于http协议的,因此只要通过工具软件截取http数据包,从而进一步进行分析提交和接收到的数据含义,然后再模拟一个flash client和服务器打交道即可。为了实现以上目标,下载安装截获tcp/ip数据包的工具软件ethereal,安装好以后,登陆QQ进入农场,然后开启ethereal软件开始截获数据包,然后在农场里点刷新好友列表按钮,然后去ethereal里看看截获到的数据包,发现读取好友列表的url地址是:http://happyfarm.qzone.qq 阅读全文

posted @ 2014-02-25 20:29 鸿鹄168 阅读(463) 评论(0) 推荐(0)

C#相等运算符重载的陷阱和解决办法
摘要:最近编程时遇到一个相等运算符重载的问题,想来该是C#的一个陷阱。我定义的Coordinate类原先是这样重载相等运算符的:publice class Coordinates{.... public override bool Equals(object obj) { if (!(obj is Coordinates)) return false; Coordinates other = (Coordinates)obj; return (this.longitude.CompareTo(other.longitude) == 0) && (this.latitude.Compa 阅读全文

posted @ 2014-02-25 20:27 鸿鹄168 阅读(178) 评论(0) 推荐(0)

说一下用c#编写的无限位数计算
摘要:闲来没事有点无聊,记得以前搞acm时经常用c来写无限位数的加减计算,那乘除呢?我现在就用c#写了一个:加法和减法简单,就是用一个数组来保存每一位上的数字,然后从后往前一位一位的加减,加法记得前面会进一,减法则要把前面多余的“0”去掉;乘法,你就在草稿纸上做下笔算吧,就是两个数组相应位数撒谎能够的数字相乘,分别在后面加上这两个数位后面的“0”,比如: 234*678=2*6*100*100+2*7*100*10+。。。。+4*8是否看的明白?就是小学时老师怎么教你算你就怎么算,把电脑当成小学生就行了,这里要用到前面的加法;除法:先拿被除数前面和除数相同位数的数和除数的倍数进行比较,这里的倍数计算 阅读全文

posted @ 2014-02-25 20:26 鸿鹄168 阅读(228) 评论(0) 推荐(0)

ArrayList Vector LinkedList 区别与用法
摘要:ArrayList 和Vector是采用数组方式存储数据,此数组元素数大于实际存储的数据以便增加和插入元素,都允许直接序号索引元素,但是插入数据要设计到数组元素移动等内存操作,所以索引数据快插入数据慢,Vector由于使用了synchronized方法(线程安全)所以性能上比ArrayList要差,LinkedList使用双向链表实现存储,按序号索引数据需要进行向前或向后遍历,但是插入数据时只需要记录本项的前后项即可,所以插入数度较快!线性表,链表,哈希表是常用的数据结构,在进行Java开发时,JDK已经为我们提供了一系列相应的类来实现基本的数据结构。这些类均在java.util包中。本文试图 阅读全文

posted @ 2014-02-25 20:25 鸿鹄168 阅读(85) 评论(0) 推荐(0)

C#实现任意角度旋转图片
摘要:以任意角度旋转图像示例。实现任意角度旋转图像主要使用Graphics类提供的RotateTransform()方法。代码如下:privatevoidbutton1_Click(objectsender,EventArgse) { //以任意角度旋转显示图像 Graphicsg=this.panel1.CreateGraphics(); floatMyAngle=0;//旋转的角度 while(MyAngle<360) { Tex... 阅读全文

posted @ 2014-02-25 20:23 鸿鹄168 阅读(339) 评论(0) 推荐(0)

把c#中的Array说透
摘要:1. 数组大局观数组是一个引用类型,也就是意味着数组的内存分配在托管堆上,并且我们在栈上维护的是他的指针而并非真正的数组。接下来我们分析下数组的元素,其中的元素无外乎是引用类型和值类型。当数组中的元素是值类型时,,不同于int i;这样的代码。数组会根据数组的大小自动把元素的值初始化为他的默认值。例如:static void Main(string[] args){ int[] intArray = new int[3]; foreach(int in intArray) { Console.WriteLine(i); } DateTime[] dt... 阅读全文

posted @ 2014-02-25 09:49 鸿鹄168 阅读(126) 评论(0) 推荐(0)

ref和out区别
摘要:方法参数上的 ref 方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。 若要使用 ref 参数,必须将参数作为 ref 参数显式传递到方法。ref 参数的值被传递到 ref 参数。 传递到 ref 参数的参数必须最先初始化。将此方法与 out 参数相比,后者的参数在传递到 out 参数之前不必显式初始化。 属性不是变量,不能作为 ref 参数传递。 如果两种方法的声明仅在它们对 ref 的使用方面不同,则将出现重载。但是,无法定义仅在 ref 和 out 方面不同的重载。例如,以下重载声明是有效的: c... 阅读全文

posted @ 2014-02-25 09:48 鸿鹄168 阅读(88) 评论(0) 推荐(0)

细说引用类型string StringBuilder class的特点
摘要:string是引用类型,但它也有一些值类型的特征。string传值还是传引用,C#的string声明是一个String类,当然是传引用。不过,之所以有这个疑惑,多数是因为这个情况: string a = "aaa"; string b = a; b = "bbb"; 这时候输出结果,结果发现a的值还没有变,分析一下: string a = "aaa"; // a-->new String("aaa") string b = a; // b-->a, 传引用 b = "bbb"; // 阅读全文

posted @ 2014-02-25 09:47 鸿鹄168 阅读(116) 评论(0) 推荐(0)

C#利用smtp服务器发送邮件
摘要:在命名空间using System.Net.Mail中提供方法根据指定的smtp服务器来发送邮件。下面说说如何实现: 1、首先要发送邮件,需要有一个邮箱帐号,比如网易邮箱、新郎邮箱、qq邮箱等,我以网易的163邮箱为例。然后我们需要知道163邮箱的smtp服务器地址:smtp.163.com。一般常用的Smtp服务器地址为: 网易126:smtp.126.com 网易163:smtp.163.com 搜狐:smtp.sohu.com 新浪:smtp.sina.com.cn 雅虎:smtp.mail.yahoo.com 2、现在我们可以开始实现了。在新建的C# Conso... 阅读全文

posted @ 2014-02-24 19:21 鸿鹄168 阅读(424) 评论(0) 推荐(0)

C# 扩展 string Split 方法
摘要:Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-->//使用扩展方法做publicstaticstring[]SplitExt(thisstringsourceString,stringsplitString){ListarrayList=newList();strings=string.Empty;while(sourceString.IndexOf(splitString)>-1){s=sourceString.Substring(0, 阅读全文

posted @ 2014-02-24 19:20 鸿鹄168 阅读(115) 评论(0) 推荐(0)

C# 4.0 新对象ExpandoObject
摘要:今天无意中看了4.0的一些新特性,其中看到SystemDynamic 命名空间下的ExpandoObject 类很感兴趣,看了篇英文文章给大伙分享下。先来看下该类的成员: http://msdn.microsoft.com/en-us/library/system.dynamic.expandoobject_members(VS.100).aspx再来看看Dynamic对象dynamiccontact=newExpandoObject(); contact.Name="PatrickHines"; contact.Phone="206-555-014... 阅读全文

posted @ 2014-02-24 19:19 鸿鹄168 阅读(382) 评论(0) 推荐(0)

socket与TcpListener/TcpClient/UdpClient 的区别及联系
摘要:应用程序可以通过 TCPClient、TCPListener 和 UDPClient 类使用传输控制协议 (TCP) 和用户数据文报协议 (UDP) 服务。这些协议类建立在 System.Net.Sockets.Socket 类的基础之上,负责数据传送的细节。(也就是说TCPClient、TCPListener 和 UDPClient 类是用来简化Socket) TcpClient 和 TcpListener 使用 NetworkStream 类表示网络。使用 GetStream 方法返回网络流,然后调用该流的 Read 和 Write 方法。NetworkStream 不拥有协议类的基础套接 阅读全文

posted @ 2014-02-24 19:11 鸿鹄168 阅读(272) 评论(0) 推荐(0)

对List内元素子集合进行组合排列
摘要:对List中元素子集合进行组合排列,使用了递归,代码如下:using System;using System.Collections.Generic;using System.Linq;using System.Text;using System.Collections;namespace ConsoleApplication2{ class Program { static void Main(string[] args) { CombinationsPermutations("asdf", 3); } private static void RotateLeft(ILi 阅读全文

posted @ 2014-02-24 18:59 鸿鹄168 阅读(417) 评论(0) 推荐(0)

C# 异步获取验证码
摘要:实现代码如下 :using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;using CodeClassLibrary;using System.IO;using System.Net;namespace ValidatorCodeDemo{ public partial class frmValidatorCode : Form { pu 阅读全文

posted @ 2014-02-24 18:58 鸿鹄168 阅读(128) 评论(0) 推荐(0)

C#中 Convert.ToInt32 与 Int.Parse的区别
摘要:Convert.ToInt32 与 int.Parse 较为类似;但其原理却不禁相同:Convert.ToInt32 内部就已调用了 int.Parse(); Convert.ToInt32的转换继承自Object对象;int.Parse()仅是int转换的一种方法; 当我们得到一个Object对象时,可用Convert.ToInt32转换,但如果用int.Parse()则会抛出异常; 例如:Convert.ToInt32 的参数为 null 时,返回 0,参数为“ ” 时,抛出异常; int.Parse 的参数为 null 时,抛出异常,参数为“ ” 时,抛出异常。 其中最重要的区别... 阅读全文

posted @ 2014-02-24 18:57 鸿鹄168 阅读(137) 评论(0) 推荐(0)

C#检查HTML是否闭合以及自动修复
摘要:usingSystem;usingSystem.Collections.Generic;usingSystem.Linq;usingSystem.Text;usingSystem.Collections;usingSystem.Diagnostics;namespace查HTML是否闭合{classTagsList{privateArrayListdata;publicintSize{get{returndata.Count;}}publicTagsList(){data=newArrayList();}publicvoidadd(Stringstr){data.Add(str);}publi 阅读全文

posted @ 2014-02-24 18:56 鸿鹄168 阅读(451) 评论(0) 推荐(0)

c#调用系统资源大集合
摘要://引入API函数 [DllImportAttribute("user32.dll")] public static extern int FindWindow(string ClassName,string WindowName); [DllImport("user32.dll")] public static extern int ShowWindow(int handle, int cmdShow); [DllImport("winmm.dll", EntryPoint = "mciSendString", 阅读全文

posted @ 2014-02-24 18:55 鸿鹄168 阅读(151) 评论(0) 推荐(0)

关于MSHTML控件使用的问题
摘要:们一般在Winform的开发中,需要使用HTML的地方,很多时候,需要用到WebBrowser这个控件,这个控件是引用了MSHTML.dll这个COM类库的,在开发的时候感觉很好,很强大,可是发布给客户的时候,很多时候,就因为这个COM控件,会出现很多令人头痛的问题,因为这个控件导致的问题,也有很多解决方法,但是问题还是经常发生。我曾经修改完成过一个HTML Editor的控件(WinForm界面开发之“HTML内容编辑控件” ),用来集成HTML邮件发送的,后来发现在很多使用客户的电脑上,点击该软件后没有反应,或者直接跳出错误对话框,原因就是使用WebBrowser这个控件,而这个控件就是属 阅读全文

posted @ 2014-02-24 18:54 鸿鹄168 阅读(122) 评论(0) 推荐(0)

WinForm界面开发之“HTML内容编辑控件”
摘要:做过了很多Winform的共享软件,对界面的设计有了一定的经验和积累,准备开一个“WinForm界面开发”系列文章,介绍下相关的Winform界面设计和相关控件的使用,促进相互交流,以获得更好的发展和了解。在很多Winform程序中 ,我们可能需要HTML内容的所见即所得的编辑控件,如Asp.net中的FreeTextBox等控件样式的。搜索了一下,发现很少这方面的控件,找了一个,好像是收费的,而且感觉一般,跳过,再找,然后发现CodeProject 上有一个不错的东西,拿过来进行修改一下,作为控件进行使用,效果还不错,我在QQ号码采集机邮件发送系统中使用,如下图所示控件支持基本的HTML编辑 阅读全文

posted @ 2014-02-24 18:53 鸿鹄168 阅读(232) 评论(0) 推荐(0)

C#实现详解DataTable的计算功能
摘要:usingSystem;usingSystem.ComponentModel;usingSystem.Data;usingSystem.Windows.Forms;namespaceWindowsApplication1{publicpartialclassForm1:Form{publicForm1(){InitializeComponent();}privatevoidbutton1_Click(objectsender,EventArgse){System.Data.DataTabletable=newDataTable();//计算常量,可以没有初始化列objecttest=table 阅读全文

posted @ 2014-02-24 18:52 鸿鹄168 阅读(398) 评论(0) 推荐(0)

C#程序设计中特性详细介绍
摘要:使用.NET框架编写Windows程序,在很多方面已经变得很简单。在许多情况下,.NET框架使用,.NET编译器在编译时绑定到程序集的元数据,.使灵活的程序设计变得更容易。事实上,对于.NET而言,使用内嵌的元数据把我们从DLL地狱解脱出来是可能的。值得庆幸的是,.NET框架的设计者们并没有选择把这些元数据优雅的隐藏起来。设计者们把反射API给予了我们,通过反射,一个.NET程序可以通过编程查看这个元数据。一个程序可以反射出包含在特定程序集内任意的东西,或者说是包含在其内的所有的类型和成员。把元数据绑定到可执行的程序集里,提供了许多优势。这使得.NET程序集,完全可以自我描述。还允许开发者跨语 阅读全文

posted @ 2014-02-24 18:51 鸿鹄168 阅读(866) 评论(0) 推荐(0)

导入CSV文件进入系统
摘要:string filePath = Setting.SourcePath ; string sheetName = Setting.SourceFile; string strConn = ""; strConn = (@"Provider=Microsoft.Jet.OLEDB.4.0;Data Source='" + filePath + "';Extended Properties='Text'"); if (!this.isOpened) myOleDbConnection = new OleD 阅读全文

posted @ 2014-02-24 18:50 鸿鹄168 阅读(116) 评论(0) 推荐(0)

C#中计算两个时间的差
摘要:/// /// 计算两个日期的时间间隔 /// /// 第一个日期和时间 /// 第二个日期和时间 /// private string DateDiff(DateTime DateTime1, DateTime DateTime2) { string dateDiff = null; TimeSpan ts1 = new TimeSpan(DateTime1.Ticks); TimeSpan ts2 = new TimeSpan(DateTime2.Ticks); TimeSpan ts = ts1.Subtract(ts2).Duration(); dateDiff = ts.Da... 阅读全文

posted @ 2014-02-24 18:49 鸿鹄168 阅读(3407) 评论(0) 推荐(0)

三个简单方法如何获取客户端MAC地址
摘要:方法一:调用Windows的DOS命令,从输出结果中读取MAC地址:public static String getMACAddress() {String address = "";String os = System.getProperty("os.name");if ( os != null && os.startsWith("Windows")) { try { String command = "cmd.exe /c ipconfig /all";Process p = Runtime.g 阅读全文

posted @ 2014-02-24 18:48 鸿鹄168 阅读(159) 评论(0) 推荐(0)

c# windows应用程序或C# 控制台应用程序 添加web引用步骤
摘要:最近项目中需要调用Google Adwords Editor 的API,所以自己先创建了一个解决方案以便进行测试!在Visual Studio 2008 中的控制台应用中添加Web 引用时,一时没有找到“添加web引用”菜单,后来才发现在高级中,有些东西不用就是忘得快啊!如下:1.在“解决方案资源管理器”中,右击要添加服务的项目的名称,然后单击“添加服务引用”。将出现“添加服务引用”对话框。2.在“添加服务引用”对话框中,单击“高级”按钮。将出现“服务引用设置”对话框。3. 在“服务引用设置”对话框中,单击“添加 Web 引用”。 将出现“添加 Web 引用”对话框。 4. 在“URL”框中输 阅读全文

posted @ 2014-02-24 18:47 鸿鹄168 阅读(315) 评论(0) 推荐(0)

说说KeyDown、KeyPress 与 KeyUp
摘要:研究了一下KeyDown,KeyPress 和 KeyUp 的学问。让我们带着如下问题来说明:1.这三个事件的顺序是怎么样的?2.KeyDown 触发后,KeyUp是不是一定触发?3.三个事件的定义4.KeyDown、KeyUp 和KeyPress 之间的区别5.如何区分是否按的是小键盘?6.PrScrn按键三个事件能够捕获吗?7.{菜单键}和{开始键}KeyPress能够捕获吗?8.如何捕获系统的组合键?9.通过什么方式捕获PrScrn按键事件?(一)键事件按下列顺序发生:KeyDownKeyPressKeyUp(二)KeyDown触发后,不一定触发KeyUp,当KeyDown 按下后,拖动 阅读全文

posted @ 2014-02-24 18:46 鸿鹄168 阅读(149) 评论(0) 推荐(0)

C#更改网卡IP地址
摘要:实现代码如下:ManagementBaseObject inPar = null; ManagementBaseObject outPar = null; ManagementClass mc = new ManagementClass("Win32_NetworkAdapterConfiguration"); ManagementObjectCollection moc = mc.GetInstances(); foreach (ManagementObject mo in moc) { if (!(bool)mo["IPEnabled"]) cont 阅读全文

posted @ 2014-02-24 18:45 鸿鹄168 阅读(680) 评论(0) 推荐(0)

关于AutoResetEvent的使用
摘要:AutoResetEvent 允许线程通过发信号互相通信。通常,此通信涉及线程需要独占访问的资源。线程通过调用 AutoResetEvent 上的 WaitOne 来等待信号。如果 AutoResetEvent 处于非终止状态,则该线程阻塞,并等待当前控制资源的线程通过调用 Set 发出资源可用的信号。调用 Set 向 AutoResetEvent 发信号以释放等待线程。AutoResetEvent 将保持终止状态,直到一个正在等待的线程被释放,然后自动返回非终止状态。如果没有任何线程在等待,则状态将无限期地保持为终止状态。可以通过将一个布尔值传递给构造函数来控制 AutoResetEvent 阅读全文

posted @ 2014-02-24 18:44 鸿鹄168 阅读(182) 评论(0) 推荐(0)

.net 2.0(c#)下简单的FTP应用程序
摘要:介绍 微软的.net framework 2.0相对于1.x来说增加了对FTP的支持。以前为了符合我的需求,我不等不使用第三方类库来实现FTP功能,但是为了可靠,还是使用.net framework的类比较好。我的这段代码没有做成可重复使用的类库的形式,但它却是比较容易理解的并能满足你的需求。它可以实现上传,下载,删除等任意功能。在这篇文章的后面将给大家出示.net 2.0下实现ftp的简单代码,使用的语言是c#。或许是因为这是.net新增的类,又或许是第三方类库已经能很好的实现你的需求,.net 2.0的这部分类库并没有得到足够的关注。 背景 作为我的工作的一部分,我已经使用了ftp模块.. 阅读全文

posted @ 2014-02-24 18:43 鸿鹄168 阅读(168) 评论(0) 推荐(0)

ImageAnimator类的应用(动画设计)
摘要:using System;using System.Collections.Generic;using System.ComponentModel;using System.Data;using System.Drawing;using System.Text;using System.Windows.Forms;namespace _7_04{ public partial class Form1 : Form { public Form1() { InitializeComponent(); } Bitmap bitmap = new Bitmap("1.gif"); 阅读全文

posted @ 2014-02-24 18:42 鸿鹄168 阅读(358) 评论(0) 推荐(0)

C#通过API实现跨进程得到浏览器对象
摘要:C# 源代码,通过API实现跨进程得到浏览器对象,然后就可以进行下一步操作。1usingSystem;2usingSystem.Runtime.InteropServices;3usingmshtml;45classWin32API{6[DllImport("user32.dll",EntryPoint="FindWindow")]7publicstaticexternIntPtrFindWindow(stringlpClassName,stringlpWindowName);8[DllImport("user32.dll",Entr 阅读全文

posted @ 2014-02-24 18:42 鸿鹄168 阅读(262) 评论(0) 推荐(0)

c# 反射机制
摘要:反射的定义:审查元数据并收集关于它的类型信息的能力。元数据(编译以后的最基本数据单元)就是一大堆的表,当编译程序集或者模块时,编译器会创建一个类定义表,一个字段定义表,和一个方法定义表等。 System.reflection命名空间包含的几个类,允许你反射(解析)这些元数据表的代码System.Reflection.Assembly System.Reflection.MemberInfoSystem.Reflection.EventInfoSystem.Reflection.FieldInfoSystem.Reflection.MethodBaseSystem.Reflection.Cons 阅读全文

posted @ 2014-02-24 18:41 鸿鹄168 阅读(114) 评论(0) 推荐(0)

.Net Framework: 字符串的驻留(String Interning)
摘要:关于字符串的驻留的机制,对于那些了解它的人肯定会认为很简单,但是我相信会有很大一部分人对它存在迷惑。在开始关于字符串的驻留之前,先给出一个有趣的Sample:Code Snip:static void Main(string[] args) { string str1 = "ABCD1234"; string str2 = "ABCD1234"; string str3 = "ABCD"; string str4 = "1234"; string str5 = "ABCD" + "12 阅读全文

posted @ 2014-02-24 18:40 鸿鹄168 阅读(128) 评论(0) 推荐(0)

委托之异步
摘要:以下描述摘抄于MSDN:异步委托提供以异步方式调用同步方法的能力。当同步调用委托时,Invoke()方法直接对当前线程调用目标方法;当异步调用委托时,CLR将对请求进行排队并立即返回到调用方,将对来自线程池的线程调用该目标方法,提交请求的原始线程继续与目标方法并行执行,该目标方法是对线程池线程运行的.1)、BeginInvoke()方法BeginInvoke()方法启动异步调用,它与需要异步执行的方法具有相同的参数。另外,还有两个可选参数:第一个参数是AsyncCallback委托,该委托引用在异步调用完成时要调用的方法;第二个参数是用户定义的对象,该对象可向回调方法传递信息;BeginInv 阅读全文

posted @ 2014-02-24 18:39 鸿鹄168 阅读(122) 评论(0) 推荐(0)

Thread.Join()用法的理解
摘要:指在一线程里面调用另一线程join方法时,表示将本线程阻塞直至另一线程终止时再执行 比如1using System;23namespace TestThreadJoin4{5 class Program6 {7 static void Main()8 {9 System.Threading.Thread x = new System.Threading.Thread(new System.Threading.ThreadStart(f1));10 x.Start();11 Console.WriteLine("This is Main.{0}", 1);12 x.Join( 阅读全文

posted @ 2014-02-24 18:38 鸿鹄168 阅读(121) 评论(0) 推荐(0)

发一个支付宝接口源代码
摘要:支付宝的接口调用很不方便,刚做好一个封装,实现了虚拟交易和实物交易。 解决方案中有三个项目以及NDoc生成的文档,简单的序列图:CommonAliPay,封装的支付宝接口。 TestAli,asp.net的测试项目 TestCommonAliPay,Nunit的测试项目。 如果有不完善的地方,请大家在下面发评论回复以便好修正。源代码下载地址:点击下载调用方法: 1、引入CommonAliPay.dll 2、实现支付宝服务接口的方法调用方式:AliPayap=newAliPay();stringkey="";//填写自己的keystringpartner="&quo 阅读全文

posted @ 2014-02-24 18:37 鸿鹄168 阅读(383) 评论(0) 推荐(0)

C#编写QQ接口软件
摘要:1、找寻支持QQ HTTP协议的服务器 。 大家也许会被一些假像所迷惑,也许会认为QQ的HTTP服务器 是基于80口进行通信的(如: 218.17.209.23:80),其实不然,正真基于HTTP的服务器 应该是:http://tqq.tencent.com:8000,它是一个通过8000口进行通讯的服务器 。 由于QQ的HTTP服务器 并不支持HTTP协议中GET方法,它支持POST方法。所以我们要给QQ的HTTP协议传参数,那么就必需要用POST方式才行。 2、C#和DELPHI 是实现HTTP的POST方法的通信。 C#: C# 里System.Web空间下提供了一个叫做WebClien 阅读全文

posted @ 2014-02-24 18:36 鸿鹄168 阅读(437) 评论(0) 推荐(0)

使用csc命令将.cs文件编译成.dll的过程
摘要:很多时候,我们需要将.cs文件单独编译成.dll文件,操作如下:打开命令窗口->输入cmd到控制台->cd C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322转到vs.net安装的该目录下->执行csc命令csc /target:library File.cs->在该目录下产生一个对应名字的.dll文件(前提:把.cs文件放到C:\WINDOWS\Microsoft.NET\Framework\v1.1.4322目录下)csc命令的方式很多,请参考以下,------------------------------------译 Fi 阅读全文

posted @ 2014-02-24 18:35 鸿鹄168 阅读(217) 评论(0) 推荐(0)

C# 高定位高效率程序中 线程与线程池比较
摘要:应用程序可以拥有多个线程,当程序需要大量时间来处理部分业务或流程时,就可以通过线程来操作,如果应用程序没有用到线程,那将会出现很麻烦的事情,例如:界面上有个dataGridView需要填充数据,如果有Form_Load事件中实现数据绑定,如果在主线程中操作,那么你运行打开窗体的时候就会出现程序假死的现象.这不是客户所接受的,所以在程序开发中,线程的应用是不可缺少的一部分.我们用多线程来开发程序,目的就是减少处理器单元的闲置时间,增加处理器单元的操作能力.但这并不能说明在程序中可以泛用多线程,应用不当,会降低系统的性能.例如:如果完成一个作业需要的时间为N,在多线程的情况下,创建线程需要的时间为 阅读全文

posted @ 2014-02-24 18:34 鸿鹄168 阅读(450) 评论(0) 推荐(0)

使用 Using 的时候,放在 namespace 里面和外面有什么区别?
摘要:using A; // 这个 using 对以下两个 namespace 有效 namespace B { using D; // 这个 using 仅对 namespace B 有效 } namesapce C { }如果一个.cs源文件里只有一个namespace(这也是通常的情况),那么using放在里面和外面都是一样的,具体放在哪里视个人的喜好而定,形成自己的风格然后遵照执行就好了。 阅读全文

posted @ 2014-02-24 18:33 鸿鹄168 阅读(480) 评论(0) 推荐(0)

导航