C#提高
文章平均质量分 84
plean
这个作者很懒,什么都没留下…
展开
-
C# 中的委托和事件
PDF 浏览:http://www.tracefact.net/Document/Delegates-and-Events-in-CSharp.pdf<br />文中代码在VS2005下通过,由于VS2003(.NetFramework1.1)不支持隐式的委托变量,所以如果在一个接受委托类型的位置直接赋予方法名,在VS2003下会报错,解决办法是显式的创建一个委托类型的实例(委托变量)。例如:委托类型 委托实例 = new 委托类型(方法名); <br />C# 中的委托和事件引言<br />委转载 2010-12-14 14:35:00 · 349 阅读 · 0 评论 -
C#中的委托和事件(续)
<br />源码下载:http://www.tracefact.net/SourceCode/MoreDelegate.rarC#中的委托和事件(续)引言<br />如果你看过了 C#中的委托和事件 一文,我想你对委托和事件已经有了一个基本的认识。但那些远不是委托和事件的全部内容,还有很多的地方没有涉及。本文将讨论委托和事件一些更为细节的问题,包括一些大家常问到的问题,以及事件访问器、异常处理、超时处理和异步方法调用等内容。为什么要使用事件而不是委托变量?<br />在 C#中的委托和事件 中,我提转载 2010-12-14 14:36:00 · 361 阅读 · 0 评论 -
C# 2.0 泛型编程
<br /><br />C#泛型演示<br />class Stack<T><br />{<br /> private T[] store;<br /> private int size<br /> public Stack()<br /> {<br /> store = new T[10];<br /> size = 0;<br /> }<br /> public void Push(T x)<br /> {<br /> store[转载 2010-12-22 09:52:00 · 327 阅读 · 0 评论 -
C#泛型详解
<br />我们在编写程序时,经常遇到两个模块的功能非常相似,只是一个是处理int数据,另一个是处理string数据,或者其他自定义的数据类型,但我们没有办法,只能分别写多个方法处理每个数据类型,因为方法的参数类型不同。有没有一种办法,在方法中传入通用的数据类型,这样不就可以合并代码了吗?泛型的出现就是专门解决这个问题的。读完本篇文章,你会对泛型有更深的了解。 <br />为什么要使用泛型<br />为了了解这个问题,我们先看下面的代码,代码省略了一些内容,但功能是实现一个栈,这个栈只能处理in转载 2010-12-22 09:51:00 · 366 阅读 · 0 评论 -
C# 泛型简介
<br />Juval Lowy<br />IDesign<br />摘要:本文讨论泛型处理的问题空间、它们的实现方式、该编程模型的好处,以及独特的创新(例如,约束、一般方法和委托以及一般继承)。此外,本文还讨论 .NET Framework 如何利用泛型。<br /> 下载 GenericsInCSharp.msi 示例文件 。 <br />注 本文假定读者熟悉 C# 1.1。有关 C# 语言的详细信息,请访问 http://msdn.microso转载 2010-12-22 09:53:00 · 335 阅读 · 0 评论 -
C#打包SQL数据库部署安装
<br />参考《ASP.NET与SQL一起打包部署安装》,这篇文章是针对VB.NET与SQL 一起打包的,但是我使用的是C#,当然只要修改一下主要安装类库就行了!C#的类库代码如下:DBCustomAction.cs<br /><br />using System;<br />using System.Collections;<br />using System.Data.SqlClient;<br />using System.ComponentModel;<br />using转载 2010-12-30 11:12:00 · 447 阅读 · 0 评论 -
C#对Web.config的读写操作
<br />using System;<br />using System.Collections;<br />using System.ComponentModel;<br />using System.Data;<br />using System.Drawing;<br />using System.Web;<br />using System.Web.SessionState;<br />using System.Web.UI;<br />using System.W转载 2010-12-30 11:15:00 · 1065 阅读 · 0 评论 -
教你如何给C#.NET程序打包
<br />1.打开要打包的“.lsn”文件,在“解决方案资源管理器”中随便打开一个窗口<br />2.菜单栏“文件”--->“添加”--->“新建项目”<br />3. 点击“项目类型”--->“其他项目类型”--->“安装和部署”,再在“模板”点击“安装项目”,点击“确定”<br />4.在“文件系统”中点击“应用程序文件夹”,右边框变空白,在空白处右击鼠标,“添加”--->点击“项目输出”,出现一个对话框,点击“确定”<br />5.再右击鼠标,“添加”--->点击“文件”,选择文件夹转载 2010-12-30 11:08:00 · 574 阅读 · 0 评论 -
C#FTP操作完整类
<br />一个比较完整的FTP操作类。需要的朋友可以使用或者改造下(也可留个备份以防需要)。代码附上:<br />view plaincopy to clipboardprint?<br />using System; <br />using System.Net; <br />using System.IO; <br />using System.Text; <br />using System.Net.Sockets; <br /> <br />///转载 2010-12-30 11:39:00 · 581 阅读 · 0 评论 -
C#编码好习惯
<br /><br />1. 避免将多个类放在一个文件里面。<br />2. 一个文件应该只有一个命名空间,避免将多个命名空间放在同一个文件里面。<br />3. 一个文件最好不要超过500行的代码(不包括机器产生的代码)。<br />4. 一个方法的代码长度最好不要超过25行。<br />5. 避免方法中有超过5个参数的情况。使用结构来传递多个参数。<br />6. 每行代码不要超过80个字符。<br />7. 不要手工的修改机器产生的代码。<br />a) 如果需要编辑机器产生的代码,编转载 2010-12-30 11:42:00 · 309 阅读 · 0 评论 -
C#类的访问性 类成员的访问修饰符
今天想不起C#中类的默认访问修饰符是internal了还以为是public呢,单元测试时候一直是黄色敬告。所以把csdn的东西翻出了(在百度上搜不到的)。当用internal修饰类(c#默认不加修饰符就是internal)可能会出现问题:当你在继承或者是实例化一个internal类的时候你的访问权限不能打破原来internal类的访问限制。例:internal class A{} public class B:A{}是不允许的; public class C{ publi转载 2010-12-29 17:15:00 · 911 阅读 · 0 评论 -
C#项目中的bin目录和obj目录的区别,以及Debug版本和Release版本的区别
<br />http://kb.cnblogs.com/a/1361876/<br /> <br />@<br />1.关于bin目录和obj目录<br />Bin目录用来保存项目生成后程序集,它有Debug和Release两个版本,分别对应的文件夹为bin/Debug和bin/Release,这个文件夹是默认的输出路径,我们可以通过:项目属性—>配置属性—>输出路径来修改。<br />obj目录是用来保存每个模块的编译结果,在.NET中,编译是分模块进行的,编译整个转载 2011-05-12 11:27:00 · 662 阅读 · 0 评论 -
C# const.static.readonly.
<br />http://archive.cnblogs.com/a/1688567/<br /> <br />Const 定义的是静态常在对象初始化的时候赋值.以后不能改变它的值.属于编译时常量。<br />Static 定义的是静态变量.可以再外部改变它的值..<br />Readonly 是只读变量.属于运行时变量.可以在类初始化的时候改变它的值..<br />const 和 static 不能在一起用<br /> <br />我们都知道,const和static readonly的确非常像:通过类名转载 2011-05-16 10:09:00 · 492 阅读 · 0 评论 -
C#中两个类之间有继承关系时的执行顺序~
http://www.cnblogs.com/zyh-nhy/archive/2009/01/22/1380000.html当两个类之间有继承关系时,第一次构造子类的实例时,是按照如下顺序进行的: 1. 子类的静态成员初始化语句 2. 子类的静态构造函数 3. 子类的非静态成员初始化语句 4. 父类的静态成员初始化语句 5. 父类的静态构造函数 6. 父类的非静态成员初始化语句 7. 父类的构造函数 8. 子类的构造函数为转载 2011-04-01 16:40:00 · 1095 阅读 · 0 评论 -
在 C# 中实现 Singleton
<br />http://msdn.microsoft.com/zh-cn/library/ff650316.aspx<br /> 上下文<br />您要在 C# 中构建应用程序。您需要只有一个实例的类,并且需要提供一个用于访问实例的全局访问点。您希望确保您的解决方案高效,并且能够利用 Microsoft? .NET 公共语言运行库功能。您可能还希望确保解决方案是线程安全的。<br />实现策略<br />尽管 Singleton 是一种相对简单的模式,但是存在与具体实现有关的不同权衡因素和选项转载 2011-04-06 15:26:00 · 378 阅读 · 0 评论 -
Data Transfer Object(数据传输对象)
<br />http://msdn.microsoft.com/zh-cn/library/ms978717.aspx<br /> 上下文<br />您正在设计一个分布式应用程序,为了满足单个客户端请求,您发现自己对一个远程接口发出了多个调用,而这些调用所增加的响应时间超出了可接受的程度。 问题<br />如何保留过程调用接口的简单语义,而不受远程通信固有的滞后时间问题的影响?影响因素<br />在与远程对象通信时,请考虑下列需要权衡的因素:<br />远程调用(那些必须跨越网络的调用)速度缓慢。虽然许转载 2011-04-06 16:20:00 · 732 阅读 · 0 评论 -
C#[Serializable]在C#中的作用-NET 中的对象序列化
http://archive.cnblogs.com/a/1120757/为什么要使用序列化?最重要的两个原因是:将对象的状态保存在存储媒体中以便可以在以后重新创建出完全相同的副本;按值将对象从一个应用程序域发送至另一个应用程序域。例如,序列化可用于在 ASP.NET 中保存会话状态,以及将对象复制到 Windows 窗体的剪贴板中。它还可用于按值将对象从一个应用程序域远程传递至另一个应用程序域。本文简要介绍了 Microsoft .NET 中使用的序列化。一.简介转载 2011-04-06 17:30:00 · 459 阅读 · 0 评论 -
全角转半角(C#,unicode)
<br />http://archive.cnblogs.com/a/1348105/<br /> <br />/*全角字符从的unicode编码从65281~65374 <br /> 半角字符从的unicode编码从 33~126 <br /> * 差值65248<br /> 空格比较特殊,全角为 12288,半角为 32 <br /> */<br /> public char Ful转载 2011-04-06 14:58:00 · 765 阅读 · 0 评论 -
《软件开发性能优化系列》之String操作
<br />http://www.cnblogs.com/lijun198504/archive/2010/01/22/1654460.html<br /> 1、使用StringBuilder做字符串连接<br /> string是不变类,使用+操作连接字符串会导致创建一个新的字符串。如果字符串连接次数不是固定的,例如在一个循环操作中,则应该使用StringBuilder类来做字符串连接工作。因为StringBuilder内部有一个StringBuffer,连接字符操作不会每次分配新的字转载 2011-04-06 15:08:00 · 410 阅读 · 0 评论 -
C#中的结构与类
<br />http://www.cnblogs.com/wayfarer/archive/2009/03/03/1402306.html<br /> <br />总结起来,两者共有如下区别:<br /> 1、结构是值类型,类则是引用类型。因此前者是放在栈(Stack)里,后者则仅仅是将引用地址存放在栈里,而具体的值则存放在堆(heap)里。如下图所示:<br /><br /> 2、据第1点可以得出结论,那就是类对象通常用来传递大数据,而结构对象则用来传递小数据。<br /> 3、类可以被继承,而结构转载 2011-04-21 17:14:00 · 417 阅读 · 0 评论 -
PetShop4.0--泛型升级
<br />http://www.cnblogs.com/viter/archive/2007/12/22/1011095.html<br /> <br />下载“泛型PetShop”源码网络上太多人在研究微软的一个开源项目了,可以用一句话来形容:麻省虽小,五脏俱全!那么这个小小的项目为什么会有那么多的人去议论它呢?它是什么项目呢?<br />名字叫做PetShop(宠物商店),它主要体现了微软的三层架构的思想。在此中主要体现为:<br /><br />这就是微软的三层架构体系,如果还有不懂的朋转载 2011-04-26 16:51:00 · 497 阅读 · 0 评论 -
DataTable几个常用的查询表达式
http://hi.baidu.com/jiang_yy_jiang/blog/item/27ab17c436e2a6c638db496f.html DataTable dt = GetDetails().Tables[0]; //获取可用的DataTable // var m = dt.AsEnumerable().Last(); 返回DataTable转载 2011-06-24 11:25:00 · 1627 阅读 · 0 评论 -
C# 跳转语句(break,continue,goto,return,throw)
http://www.cnblogs.com/scottckt/archive/2007/11/07/952389.html 今天下午遇到到一個問題,在循語句中使用分支分句,我想在分支中跳出分支和循環。一時差點沒想來用跳轉語句。所以在網上找了點資料溫習一下。這篇文章自認為不錯,收藏一下。----------------------------------------------转载 2011-06-24 10:01:00 · 566 阅读 · 0 评论 -
C# 多线程并发处理数据库数据,发送信号等待处理完统一插入.
http://hi.baidu.com/jiang_yy_jiang/blog/item/23294013384be4c7f6039e2e.html public class JPService { public JPService() { //设定最大的Net并发连接数转载 2011-06-24 13:06:00 · 2125 阅读 · 0 评论 -
C#路径/文件/目录/I/O常见操作汇总
http://www.cnblogs.com/baoyue9/archive/2008/10/21/1316260.html 文件操作是程序中非常基础和重要的内容,而路径、文件、目录以及I/O都是在进行文件操作时的常见主题,这里想把这些常见的问题作个总结,对于每个问题,尽量提供一些解决方案,即使没有你想要的答案,也希望能提供给你一点有益的思路,如果你有好的建议,恳请能够留言,使这些内容转载 2011-06-27 14:08:00 · 571 阅读 · 0 评论 -
C#动态程序集的加载、创建实例、序列化与反序列化
http://hi.baidu.com/linrao/blog/item/6086dc3918df18d5d4622534.html什么是动态程序集动态程序集是指没有被编译至主程序,而是主程序在运行时动态调用或者生成的程序集。动态链接库(dll)大家一定很熟悉转载 2011-07-05 14:08:42 · 2274 阅读 · 0 评论 -
C#中字符串的内存分配与驻留池
http://kb.cnblogs.com/page/102225/摘要:当有多个字符串变量包含了同样的字符串实际值时,CLR可能不会为它们重复地分配内存,而是让它们统统指向同一个字符串对象实例。 刚开始学习C#的时候,就听说CLR对于String类有一种特转载 2011-07-06 13:24:51 · 400 阅读 · 0 评论 -
C#多线程学习(一) 多线程的相关概念
http://kb.cnblogs.com/page/42528/什么是进程?当一个程序开始运行时,它就是一个进程,进程包括运行中的程序和程序所使用到的内存和系统资源。而一个进程又是由多个线程所组成的。什么是线程?线程是程序中的一个执行流,每个线程都有自己的专转载 2011-07-06 16:04:20 · 285 阅读 · 0 评论 -
C#多线程学习(四) 多线程的自动管理(线程池)
http://kb.cnblogs.com/page/42531/在多线程的程序中,经常会出现两种情况:一种情况: 应用程序中,线程把大部分的时间花费在等待状态,等待某个事件发生,然后才能给予响应这一般使用ThreadPool(线程池)来解决;另一种情况:线程转载 2011-07-06 16:07:48 · 300 阅读 · 0 评论 -
C#多线程学习(二) 如何操纵一个线程
http://kb.cnblogs.com/page/42529/下面我们就动手来创建一个线程,使用Thread类创建线程时,只需提供线程入口即可。(线程入口使程序知道该让这个线程干什么事)在C#中,线程入口是通过ThreadStart代理(delegate)转载 2011-07-06 16:05:21 · 318 阅读 · 0 评论 -
C#多线程学习(五) 多线程的自动管理(定时器)
http://kb.cnblogs.com/page/42532/Timer类:设置一个定时器,定时执行用户指定的函数。定时器启动后,系统将自动建立一个新的线程,执行用户指定的函数。初始化一个Timer对象:Timer timer = new Timer(ti转载 2011-07-06 16:08:28 · 347 阅读 · 0 评论 -
C#多线程学习(六) 互斥对象
http://kb.cnblogs.com/page/42533/如何控制好多个线程相互之间的联系,不产生冲突和重复,这需要用到互斥对象,即:System.Threading 命名空间中的 Mutex 类。我们可以把Mutex看作一个出租车,乘客看作线程。乘客转载 2011-07-06 16:09:09 · 342 阅读 · 0 评论 -
C#多线程学习(三) 生产者和消费者
http://kb.cnblogs.com/page/42530/前面说过,每个线程都有自己的资源,但是代码区是共享的,即每个线程都可以执行相同的函数。这可能带来的问题就是几个线程同时执行一个函数,导致数据的混乱,产生不可预料的结果,因此我们必须避免这种情况的转载 2011-07-06 16:06:46 · 340 阅读 · 0 评论 -
C# 2.0 除了泛型
http://www.cnblogs.com/webabcd/archive/2007/02/11/647563.html介绍C# 2.0 除了泛型之外的东东。可空类型/**//* *可空类型 */using System;using System.Data;using Syst转载 2011-07-07 11:18:57 · 313 阅读 · 0 评论 -
C#操作XML小结
http://www.cnblogs.com/moss_tan_jun/archive/2010/09/28/1837925.html1、简单介绍 using System.Xml; //初始化一个xml实例 XmlDocument xml=new XmlDocument();转载 2011-07-13 14:01:27 · 346 阅读 · 0 评论 -
C# 添加,修改,删除文件夹/文件集合
http://www.cnblogs.com/moss_tan_jun/archive/2011/07/02/2096298.htmlC#追加文件 StreamWriter sw = File.AppendText(Server.MapPath(".")+"\\myText.tx转载 2011-07-13 15:51:14 · 467 阅读 · 0 评论 -
根据xsd生成xml文档
http://www.cnblogs.com/eric812/archive/2006/11/01/546914.html现在有很多的xml工具软件都能根据xsd文件书写出xml文档,.net 没有实现此方法,如是我写了几个浏览、校验、和创建xml的方法全部代码如下:using转载 2011-07-14 11:32:23 · 2929 阅读 · 0 评论 -
反射的应用--根据控件名取得控件
http://www.cnblogs.com/waban/archive/2007/03/06/665326.html今天在项目中有用到根据控件名称取控件的问题,经过查找相关资料,实现方法如下,此代码为c#,转换为vb.net可以同样使用。//必须引用命名空间System.Ref转载 2011-07-23 11:45:39 · 1628 阅读 · 0 评论 -
XML文件导入、导出到 DataSet
http://www.cnblogs.com/quietwalk/archive/2010/09/09/1822192.html//导出dataset数据到XML文件//Author:Quietwalk//2010-09-09 public bool ExportToXMl(Da转载 2011-07-15 13:20:46 · 768 阅读 · 0 评论 -
C# xml读写与dataset结合
http://www.4ucode.com/Study/Topic/953786 前言 1 基本思路其实用 DataSet 操作 XML ,归根到底就是对 DataSet 里的表格,行,列等进行操作,然后用 DataSet 里的东西重新写到 X转载 2011-07-14 16:56:20 · 1604 阅读 · 0 评论