C#
文章平均质量分 76
xjj51296646
勤学似春起之苗,不见其增,日有所长;辍学如磨刀之石,不见其损,日有所亏!
MSN:junjie_xu_sky@hotmail.com
展开
-
四种简单的排序算法
我觉得如果想成为一名优秀的开发者,不仅要积极学习时下流行的新技术,比如WCF、Asp.Net MVC、AJAX等,熟练应用一些已经比较成熟的技术,比如Asp.Net、WinForm。还应该有着牢固的计算机基础知识,比如数据结构、操作系统、编译原理、网络与数据通信等。有的朋友可能觉得这方面的东西过于艰深和理论化,望而却步,但我觉得假日里花上一个下午的时间,研究一种算法或者一种数据结构,然后写写心得,原创 2008-10-22 14:50:00 · 1451 阅读 · 0 评论 -
C# 继承
一. 继承基础知识 为了提高软件模块的可复用性和可扩充性,以便提高软件的开发效率,我们总是希望能够利用前人或自己以前的开发成果,同时又希望在自己的开发过程中能够有足够的灵活性,不拘泥于复用的模块。C#这种完全面向对象的程序设计语言提供了两个重要的特性--继承性inheritance 和多态性polymorphism。 继承是面向对象程序设计的主要特征之一,它可以让您重用代码,可以节省原创 2008-12-20 11:42:00 · 946 阅读 · 0 评论 -
C# Attributes
Attributes是一种新的描述信息,我们既可以使用attributes来定义设计期信息(例如 帮助文件,文档的URL),还可以用attributes定义运行时信息(例如,使XML中的元素与类的成员字段关联起来)。我们也可以用attributes来创建一个“自描述”的组件。在这篇指南中我们将明白怎么创建属性并将其绑定至各种语言元素上,另外我们怎样在运行时环境下获取到attributes的一些信原创 2008-12-24 18:31:00 · 999 阅读 · 0 评论 -
C# 接口
什么是接口?其实,接口简单理解就是一种约定,使得实现接口的类或结构在形式上保持一致。个人觉得,使用接口可以使程序更加清晰和条理化,这就是接口的好处,但并不是所有的编程语言都支持接口,C#是支持接口的。注意,虽然在概念上,C#接口类似于COM接口,但他们的底层结构是不同的。那么,我们来看一下如何声明和使用接口。 声明接口 声明接口在语法上和声明抽象类完全相同,例如这里有一个银行账户的接口原创 2008-12-24 18:22:00 · 675 阅读 · 0 评论 -
C# 多态
多态是面向对象编程中三大机制之一,其原理建立在"从父类继承而来的子类可以转换为其父类"这个规则之上,换句话说,能用父类的地方,就能用该类的子类.当从父类派生了很多子类时,由于每个子类都有其不同的代码实现,所以当用父类来引用这些子类时,同样的操作而可以表现出不同的操作结果,这就是所谓的多态. 1.了解什么是多态性 2.如何定义一个虚方法 3.如何重载一个虚方法 4.如何原创 2008-12-24 18:38:00 · 816 阅读 · 0 评论 -
C# 封装
面向对象思想有三个核心要素:封装、继承与多态。如能正确理解这三要素,那么基本上可以算是在编程中建立了面向对象思想。在第二节中我曾介绍,在C#中,所有数据类型的实例都是“对象”,不过最能体现对象特质的类型,还是“类”,同时它也是C#中最重要、最频繁使用的类型。接下来,我将通过介绍C#的类,来充分理解对象封装的概念。所谓“对象”,形象地说,我们可以把它理解为一块积木。设计积木的人需要设计原创 2008-12-24 18:41:00 · 3769 阅读 · 5 评论 -
C# 序列化
序列化又称串行化,是.NET运行时环境用来支持用户定义类型的流化的机制。其目的是以某种存储形成使自定义对象持久化,或者将这种对象从一个地方传输到另一个地方。 .NET框架提供了两种串行化的方式:1、是使用BinaryFormatter进行串行化;2、使用SoapFormatter进行串行化;3、使用XmlSerializer进行串行化。第一种方式提供了一个简单的二进制数据流以及某些附原创 2008-12-26 20:18:00 · 794 阅读 · 0 评论 -
C# 汉字转拼音(全拼)
/// /// 汉字转拼音类/// public class Hz2Py{ private static int[] pyValue = new int[] { -20319,-20317,-20304,-20295,-20292,-20283,-20265,-20257,-20242,-20230,-20051,-20036, -2003原创 2008-12-26 20:40:00 · 773 阅读 · 0 评论 -
基于.NET2.0的System.Net.Mail发送邮件Demo
第一种: //emailaddress邮件接收者地址 //mailcontent邮件主体内容 //mailtitle邮件标题 //mailsubject邮件主题 public bool SendMail(string emailaddress,string mailcontent,string mailtit原创 2008-12-26 20:37:00 · 742 阅读 · 0 评论 -
C#事件
上一篇文章中,说到了委托,现在就来说说事件吧,其实事件就是一种特殊的委托。 有事件,就会有对事件进行处理的方法,而事件和处理方法之间是怎么联系起来的呢? 委托就是他们中间的桥梁,事件发生时,委托会知道,然后将事件传递给处理方法,处理方法进行相应处理。 比如,在WinForm中最常见的是按钮的Click事件,它是这样委托的:this.button1.Click+=n原创 2009-06-01 10:04:00 · 817 阅读 · 0 评论 -
异步编程篇1
.NET Framework 为异步操作提供了两种设计模式:使用 IAsyncResult 对象的异步操作与使用事件的异步操作。先来学习前者 概述 IAsyncResult 异步设计模式通过名为 BeginOperationName 和 EndOperationName 的两个方法来实现原同步方法的异步调用,如 FileStream 类提供了 BeginRead 和 EndRe原创 2009-06-01 10:00:00 · 773 阅读 · 0 评论 -
异步编程篇2
基于事件的异步模式是比 IAsyncResult 模式更高级的一种异步编程模式,也被用在更多的场合。对于相对简单的应用程序可以直接用 .Net 2.0 新增的 BackgroundWorker 组件来很方便的实现,对于更复杂的异步应用程序则需要自己实现一个符合基于事件的异步模式的类。这两者对我都是新东西,先从简单的入手,下一篇里我再去尝试复杂类模型的实现 模式概述 支持基于事件原创 2009-06-01 10:03:00 · 578 阅读 · 0 评论 -
C#委托
一、委托 委托类似于函数指针,但函数指针只能引用静态方法,而委托既能引用静态方法,也能引用实例方法。 委托使用分三步:1、委托声明。2、委托实例化。3、委托调用。 二、例子: delegate int NumOpe(int a,int b); //第一步,声明委托 class Class1 { static void Main(string原创 2009-06-01 10:04:00 · 1480 阅读 · 0 评论 -
C#操作XML小结
一、简单介绍using System.Xml;//初始化一个xml实例XmlDocument xml=new XmlDocument();//导入指定xml文件xml.Load(path);xml.Load(HttpContext.Current.Server.MapPath("~/file/bookstore.xml"));//指定一个节点XmlNode root=xml.Selec原创 2009-06-04 11:36:00 · 82231 阅读 · 9 评论 -
C# Socket编程笔记
1.按惯例先来介绍下socket Windows中的很多东西都是从Unix领域借鉴过来的,Socket也是一样。在Unix中,socket代表了一种文件描述符(在Unix中一切都是以文件为单位),而这里这个描述符则是用于描述网络访问的。什么意思呢?就是程序员可以通过socket来发送和接收网络上的数据。你也可以理解成是一个API。有了它,你就不用直接去操作网卡了,而是通过这原创 2009-06-04 11:40:00 · 1688 阅读 · 0 评论 -
C#随机生成中文字符串
using System;using System.Text; /// 可以随机生成一个长度为2的十六进制字节数组,/// 使用GetString ()方法对其进行解码就可以得到汉字字符了。/// 不过对于生成中文汉字验证码来说,因为第15区也就是AF区以前都没有汉字,/// 只有少量符号,汉字都从第16区B0开始,并且从区位D7开始以后的汉字都是和很难见到的繁杂汉字,/// 所以这些都要排出原创 2009-02-23 14:48:00 · 5376 阅读 · 1 评论 -
.Net 邮件发送的简单实现
.Net 邮件发送的类,在程序中直接调用就可以了,利用别人提供的smtp,就可以发Email了。using System;using System.Web.Mail; namespace ZhongRongBai{ /// /// SystemMail 的摘要说明。 /// public class Syst原创 2009-02-23 14:48:00 · 552 阅读 · 0 评论 -
绑定句柄无效
今天使用vs2005时候,发现了这个问题“无法附加。绑定句柄无效”。参考下面的图片:解决办法是参考了网页http://www.cnblogs.com/qiujiange/archive/2006/07/27/461329.html找到的。首先打开操作系统的服务管理器打开以后的界面就是这样了:打开“Terminal Services”。启动“Terminal Services”的服务然后您的VS20原创 2008-10-09 17:46:00 · 1916 阅读 · 0 评论 -
安装中文VS2008 SP1 和.NETFRAMEWORK 3.5SP1后智能提示是英文的解决办法
期待已久的VS2008 SP1 和.NET FRAMEWORK 3.5 SP1都出来了 下载地址 Microsoft Visual Studio 2008 Service Pack 1 (iso)http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=27673c47-b3b5-4c67-原创 2008-10-27 11:17:00 · 664 阅读 · 0 评论 -
C# 泛型
泛型的基本概念。 最显著的一点就是它参数化了类型,把类型作为参数抽象出来,从而使我们在实际的运用当中能够更好的实现代码的重复利用,同时它提供了更强的类型安全,更高的效率,不过在约束方面,它只支持显示的约束,这样在灵活性方面就显得不是那么好了。我觉得它之所以能够提供更高的效率是因为泛型在实例化的时候采用了 "on-demand"的模式,即按需实例化,发生在JIT(Just In Time)编译时。原创 2008-12-29 11:10:00 · 725 阅读 · 0 评论 -
C# 反射
什么是反射 Reflection,中文翻译为反射。 这是.Net中获取运行时类型信息的方式,.Net的应用程序由几个部分:‘程序集(Assembly)’、‘模块(Module)’、‘类型(class)’组成,而反射提供一种编程的方式,让程序员可以在程序运行期获得这几个组成部分的相关信息,例如: Assembly类可以获得正在运行的装配件信息,也可原创 2008-12-30 20:38:00 · 665 阅读 · 0 评论 -
如何获取.NET应用程序设置文件config的路径
最近在学习.NET的时,需要在客户端软件中保存用户的一些设置,比如是否在登录框中保存上次登录名等信息,就用到了.NET中的应用程序设置功能。如果使用用户范围的设置,程序会在磁盘上创建user.config用来存储修改后设置值,对 user.config所在的文件夹,我产生了一些兴趣,并做了一些研究。现举个例子来说明:C:/Documents and Settings/Admin/Local Set原创 2008-11-11 08:39:00 · 2644 阅读 · 0 评论 -
C#调用外部程序实现压缩和解压缩[原]
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.U原创 2008-11-11 08:49:00 · 731 阅读 · 0 评论 -
C# 将数据导出到Execl
一、asp.net中导出Execl的方法:在asp.net中导出Execl有两种方法,一种是将导出的文件存放在服务器某个文件夹下面,然后将文件地址输出在浏览器上;一种是将文件直接将文件输出流写给浏览器。在Response输出时,t分隔的数据,导出execl时,等价于分列,n等价于换行。 1、将整个html全部输出execl此法将html中所有的内容,如按钮,表格,图片等全部输出到Execl原创 2008-11-11 08:52:00 · 541 阅读 · 0 评论 -
C#编写简单的聊天程序
这是一篇基于Socket进行网络编程的入门文章,我对于网络编程的学习并不够深入,这篇文章是对于自己知识的一个巩固,同时希望能为初学的朋友提供一点参考。文章大体分为四个部分:程序的分析与设计、C#网络编程基础(篇外篇)、聊天程序的实现模式、程序实现。程序的分析与设计1.明确程序功能如果大家现在已经参加了工作,你的经理或者老板告诉你,“小王,我需要你开发一个聊天程序”。那么接下来该怎么做呢?你是不原创 2009-01-04 16:03:00 · 1468 阅读 · 2 评论 -
C#调用外部程序实现压缩和解压缩[原]
using System; using System.Data; using System.Configuration; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; using System.Web.U原创 2008-11-11 08:58:00 · 535 阅读 · 0 评论 -
Linq学习
自从学习LINQ以来,我发现了很多使用LINQ来改善代码的方式。每一个技巧都让代码写起来更简单,可读性更强。这里总结了这些技巧。我会介绍如何使用LINQ来:初始化数组在一个循环中遍历多个数组生成随机序列生成字符串转换序列或集合把值转换为长度为1的序列遍历序列的所有子集如果你在LINQ方面有心得也欢迎在评论中一起分享。1. 初始化数组通常,我们需要把数组的值初始化为相同的值或递原创 2009-01-05 11:55:00 · 1334 阅读 · 0 评论 -
C#操作Excel文件(读取Excel,写入Excel)
看到论坛里面不断有人提问关于读取excel和导入excel的相关问题。闲暇时间将我所知道的对excel的操作加以总结,现在共享大家,希望给大家能够给大家带了一定的帮助。另外我们还要注意一些简单的问题1.excel文件只能存储65535行数据,如果你的数据大于65535行,那么就需要将excel分割存放了。2.关于乱码,这主要是字符设置问题。1.加载Excel(读取excel内容)返回值是一个原创 2009-01-10 21:31:00 · 873 阅读 · 1 评论 -
如何让TextBox只能输入数字、汉字、字母?
在编程的过程中我们可能经常会用到TextBox只接受数字输入(或者其他,比如:汉字,字母,等等),这个时候我们可能需要重新封装一个TextBox(其他方法当然也可以),经常看到有人问这个问题,今天抽了一点时间将此封装做了一下,现在共享大家,希望能给大家带来一定的帮助,如有不妥敬请斧正,另外:如需转载请注明出处: alimama_pid="mm_10249644_1605763_5转载 2009-01-10 21:34:00 · 1483 阅读 · 0 评论 -
正确认识C#中的引用传递,其实引用传递实际上也是属于值传递
以前一直误以为引用类型,在作为参数传递时,都是引用传递(类似于值传递中的ref),也就是说,把引用类型的变量作为参数传递给方法,在方法中修改该参数,会改变这个变量的值,后来通过一些事例发现,上面的认识是片面的,引用类型传递实际上也是属于值传递的,只是引用类型传递的是一个堆地址。 先来个例子吧:# using System;# public class test{# publi原创 2008-11-20 11:28:00 · 530 阅读 · 0 评论 -
C#泛型小结
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() { re原创 2009-02-19 12:05:00 · 919 阅读 · 1 评论 -
获取Setup文件的运行路径
项目中因为需要在安装时做配置,而在打包之前是不知道配置的具体信息的。用InstallShield来做打包好像做这样的处理比较方便,但是使用Visual Studio创建安装项目来打包时好像不是那么容易,在网上查找相关的资料一直没有找到很好的方法来直接获取其运行路径,网上有人说继承Installer来做,但是无论如何所能取得的路径是系统msiexec.exe的运行路径,所以这种方法看起来是行不通了。原创 2009-06-04 11:41:00 · 1938 阅读 · 1 评论