![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C#
longge7685
这个作者很懒,什么都没留下…
展开
-
System.Collections 常用类,结构和结构:
System.Collections 常用类,结构和结构:类:ArrayList,Hashtable,SortedList接口:ICollection,IEnumerator,IList结构:DictionaryEntry 类: ArrayList: 数组列表,是Array类的优化版本。。 Hashtable: 一种数据结构,将数据作为一组键(Key)值原创 2009-11-30 20:17:00 · 217 阅读 · 0 评论 -
.net C#:String.Format数字格式化输出
C#:String.Format数字格式化输出 int a = 12345678; //格式为sring输出// Label1.Text = string.Format("asdfadsf{0}adsfasdf",a);// Label2.Text = "asdfadsf"+a.ToString()+"adsfasdf";// Label1.Text = string.Fo转载 2010-03-28 22:09:00 · 411 阅读 · 0 评论 -
C# 中的委托和事件
引言委托 和 事件在 .Net Framework中的应用非常广泛,然而,较好地理解委托和事件对很多接触C#时间不长的人来说并不容易。它们就像是一道槛儿,过了这个槛的人,觉得真是太容易了,而没有过去的人每次见到委托和事件就觉得心里别(biè)得慌,混身不自在。本文中,我将通过两个范例由浅入深地讲述什么是委托、为什么要使用委托、事件的由来、.Net Framework中的委托和事件、委托和事件对转载 2010-03-29 23:22:00 · 197 阅读 · 0 评论 -
C#中的委托和事件(续)
引言如果你看过了 C#中的委托和事件 一文,我想你对委托和事件已经有了一个基本的认识。但那些远不是委托和事件的全部内容,还有很多的地方没有涉及。本文将讨论委托和事件一些更为细节的问题,包括一些大家常问到的问题,以及事件访问器、异常处理、超时处理和异步方法调用等内容。为什么要使用事件而不是委托变量?在 C#中的委托和事件 中,我提出了两个为什么在类型中使用事件向外部提供方法注册,而不是直转载 2010-03-29 23:25:00 · 160 阅读 · 0 评论 -
C# 中的枚举器
术语表Iterator:枚举器如果你正在创建一个表现和行为都类似于集合的类,允许类的用户使用foreach语句对集合中的成员进行枚举将会是很方便的。这在C# 2.0中比 C# 1.1更容易实现一些。作为演示,我们先在 C# 1.1中为一个简单的集合添加枚举,然后我们修改这个范例,使用新的C#2.0 枚举构建方法。我们将以创建一个简单化的List Box作为开始,它将包含一个8字符串的数转载 2010-03-29 23:28:00 · 219 阅读 · 0 评论 -
C# 中的泛型
术语表generics:泛型type-safe:类型安全collection: 集合compiler:编译器run time:程序运行时object: 对象.NET library:.Net类库value type: 值类型box: 装箱unbox: 拆箱implicity: 隐式explicity: 显式linked list: 线性链表node: 结点indexer: 索引器简介V转载 2010-03-29 23:30:00 · 154 阅读 · 0 评论 -
C#编写简单的聊天程序
引言这是一篇基于Socket进行网络编程的入门文章,我对于网络编程的学习并不够深入,这篇文章是对于自己知识的一个巩固,同时希望能为初学的朋友提供一点参考。文章大体分为四个部分:程序的分析与设计、C#网络编程基础(篇外篇)、聊天程序的实现模式、程序实现。程序的分析与设计1.明确程序功能如果大家现在已经参加了工作,你的经理或者老板告诉你,“小王,我需要你开发一个聊天程序”。那么接下来该转载 2010-03-29 23:31:00 · 309 阅读 · 0 评论 -
C# 类型基础
引言本文之初的目的是讲述设计模式中的 Prototype(原型)模式,但是如果想较清楚地弄明白这个模式,需要了解对象克隆(Object Clone),Clone其实也就是对象复制。复制又分为了浅度复制(Shallow Copy)和深度复制(Deep Copy),浅度复制 和 深度复制又是以 如何复制引用类型成员来划分的。由此又引出了 引用类型和 值类型,以及相关的对象判等、装箱、拆箱等基础知识转载 2010-03-29 23:35:00 · 164 阅读 · 0 评论 -
创建常量、原子性的值类型
概述本文是《Effective C#》一书第七节的读书笔记。通过这篇文章,我主要想向大家说明一个我们平时可能不太会注意到的问题:创建具有常量性和原子性的值类型。从类型设计谈起从Class到Struct假如我们要设计一个存储收信人地址的类型(Type), 我们管这个类型叫 Address。它应该包含这样几个属性:Province 省City 市Zip转载 2010-03-29 23:37:00 · 167 阅读 · 0 评论 -
CSDN著名技术专家Visual C++2010开发体验心得——从Visual C++6.0到Visual C++2010见证VC++辉煌时刻
IT业是一个创造奇迹的行业,IT业也是一个年轻的行业,IT业更是一个不断更新的行业。在2009年,微软已经连续推出Visual Studio2010 beta1 与 Visual Studio2010 beta2 两个版本.目前Visual Studio2010的RC版已经发布, RC版本已经展示了Visual Studio2010的所有新特性与革新,自从Visual Studio 98问转载 2010-04-12 22:39:00 · 337 阅读 · 0 评论 -
一个逐步“优化”的范例程序
引言本文是《Object-Oriented Analysis and Design》一书第一章和第五章的读书笔记。我对书中提供的一个范例程序进行了总结和整理,通过逐步优化这个乐器管理的范例程序,分析了进行程序设计时需要注意到的一些问题。1.简单直接的实现这个程序起初的需求很简单:我们需要创建一个吉他管理程序,它能够保存所有的吉他信息,并且可以通过输入吉他的参数来进行查询,返回查询结果。转载 2010-04-03 01:27:00 · 187 阅读 · 0 评论 -
C#中的特性(Attributes)(翻译)(转载)
<br />Attributes in C#<br />介绍<br />Attributes是一种新的描述信息,我们既可以使用attributes来定义设计期信息(例如帮助文件,文档的URL),还可以用attributes定义运行时信息(例如,使XML中的元素与类的成员字段关联起来)。我们也可以用attributes来创建一个“自描述”的组件。在这篇指南中我们将明白怎么创建属性并将其绑定至各种语言元素上,另外我们怎样在运行时环境下获取到attributes的一些信息。<br />定义<br />MSDN 中转载 2010-06-09 15:59:00 · 202 阅读 · 0 评论 -
c# 读取word文件文本内容
//获得word文件的文本内容<br /> public string Doc2Text(string docFileName)<br /> {<br /> //实例化COM<br /> Microsoft.Office.Interop.Word.ApplicationClass wordApp = new Microsoft.Office.Interop.Word.ApplicationClass();<br />转载 2011-02-27 00:24:00 · 549 阅读 · 0 评论 -
c#实现EXCEL自动绘制图表
<br />最近再做问卷的自动处理程序,研究了一个星期的EXCEL图表,终于实现了大部分想要的功能(选定数据区域绘制图表、图表位置的调整、图表样式的调整),以下为图表绘制部分的主要代码,备忘一下(chart放在选定数据区域的正下方,缺省大小、采用EXCEL 2007最漂亮的三维样式)。<br /> //要先在程序中引用Microsoft Excel 12.0 Object Library<br /> using Microsoft.Office.Interop.Excel;<b转载 2011-02-26 23:23:00 · 1011 阅读 · 2 评论 -
【转载】今天心情非常好,再发一组 Linq、 集合、数组、Lambda、QuerySyntax 的文章
<br />目录 <br />1LINQ查询结果集 1<br />2System.Array 数组 1<br />2.1基于System.Array定义数组 1<br />2.2基于类型定义数组 1<br />2.3数组元素的清空 1<br />2.4System.Array类静态成员 1<br />2.5不用循环填充数组 1<br />2.6数组类实例成员 2<br />3System.Collections 集合 2<br />3.1ArrayList 2<br />3.1.1实例成员 2<br />2转载 2011-05-18 10:06:00 · 420 阅读 · 0 评论 -
DataGridView概述
1何为DataGridView<br />通过DataGridView控件,可以显示和编辑表格式的数据,而这些数据可以取自多种不同类型的数据源。<br />DataGridView控件具有很高的的可配置性和可扩展性,提供了大量的属性、方法和事件,可以用来对该控件的外观和行为进行自定义。当你需要在WinForm应用程序中显示表格式数据时,可以优先考虑DataGridView(相比于DataGrid等其它控件)。如果你要在小型网格中显示只读数据,或者允许用户编辑数以百万计的记录,DataGridView将为你提转载 2011-05-18 13:14:00 · 831 阅读 · 0 评论 -
[.NET开发] PropertyGrid用法(汉化属性)
<br />有的朋友,肯定用到了PropertyGrid中要将一个对像的属性给汉化过来,以合适咱们中国人的习惯.<br />其实这个汉化,ms是支持的:请瞧下面的代码,你只需要copy,然后做为你的对像的父类,然后在你的对像的属性上加入中文意思,就搞定了。一切都那么简单:<br />#region 所有要放在PropertyGird中的对像的基类.<br /> public class BaseObject : ICustomTypeDescriptor<br /> {<br /> private Pro转载 2011-04-07 14:21:00 · 442 阅读 · 0 评论 -
PropertyGrid的用法---汉化及对自定义类对象属性的支持
<br />还是来看程序:<br /> <br /> <br /> //定义了一个类<br /> <br /> classtest <br /> <br /> { <br /> <br /><br /> <br /> //性别属性<br /> <br /> privatestring sex; <br /> <br /> [Category("数据"), Browsable(true), ReadOnly(原创 2011-04-07 15:17:00 · 383 阅读 · 0 评论 -
C#将EXCEL的数据复制到DATATABLE中
如何将EXCEL的数据复制到DATATABLE中?网友回复:给50分就给你代码,呵呵网友回复: /// /// 由EXCEL转换成DataTable /// /// 文件路径及文件名 /// private DataTable XlsToDataTable(String strpath) { string strConn; strConn = "Provider=Microsoft.J转载 2010-01-08 20:06:00 · 346 阅读 · 0 评论 -
几个C#编程的小技巧
一、最小化窗口 点击“X”或“Alt F4”时,最小化窗口,如:protected override void WndProc(ref Message m){const int WM_SYSCOMMAND = 0x0112;const int SC_CLOSE = 0xF060;if (m.Msg == WM_SYSCOMMAND && (int) m.WParam == SC_转载 2010-01-03 11:10:00 · 8566 阅读 · 2 评论 -
C#数据结构与算法
前言 在专业程序员的成长过程中数据结构与算法的学习是至关重要的。虽然有许多书籍介绍数据结构与算法,但这些书大部分是作为高校教材并且以大学中常用于面向对象教学的Java或C++来讲述的。C#正在成为一种流行的语言。此书适合C#程序员们来学习数据结构与算法的基础知识。 C#是一个基于.Net Framework这个丰富的开发环境的语言。.Net Framework的类库中包括了原创 2009-12-02 01:13:00 · 1991 阅读 · 6 评论 -
保护.net中的dll文件(防止破解、反编译dll)
保护.net中的dll文件(防止破解、反编译dll)2009-12-13 19:34.net是一种建立在虚拟机上执行的语言,它直接生成 MSIL 的中间语言,再由.net编译器 JIT 解释映象为本机代码并交付CPU执行。中间语言很容易被反编译,所以研究下如何有效的保护dll文件。我大致的方法为 :强签名+混淆+加密。强签名强命名程序集,可以确保转载 2010-01-28 16:14:00 · 991 阅读 · 0 评论 -
反编译C#生成的DLL文件--学习源代码的好软件Reflector使用手
打开Reflector工具并且下载了一个FileDisassembler插件,FileDisassembler插件用于输出程序 集的反编译结果到文件中。打开Reflector工具,并导入FileDisassembler插件。导入好后加载程序集将反编译结果输出到指定的文件夹 中;Reflector下载地址:http://www.aisto.com/roeder/dotnet 下载时必须输入用户名和E转载 2010-01-28 16:16:00 · 968 阅读 · 1 评论 -
C#泛型集合揽胜
集合是OOP中的一个重要概念,C#中对集合的全面支持更是该语言的精华之一。 为什么要用泛型集合? 在C# 2.0之前,主要可以通过两种方式实现集合: a.使用ArrayList 直接将对象放入ArrayList,操作直观,但由于集合中的项是Object类型,因此每次使用都必须进行繁琐的类型转换。 b.使用自定义集合类 比较常见的做法是从CollectionBas转载 2010-01-28 20:03:00 · 167 阅读 · 0 评论 -
C#泛型编程简介
NET泛型编程已经离我们不远了,在微软最近随SQL Server Yukon Beta1发行的.NET Framework 1.2中就已经有了泛型的影子。虽然现在它还是问题多多,但是相信随着新版.NET Framework的正式发行,这些问题会得到解决。因此我们也该为.NET泛型编程做些准备了。 .NET系统是一个单根继承系统,所有的类型都派生自Object。我以前一直认为在单根继承系统中用不转载 2010-01-28 20:04:00 · 562 阅读 · 0 评论 -
C++和C#编写调用COM组件
摘要:现在COM组件的使用越来越广泛,在各个程序中调用COM组件我想大家都遇到过,这篇文章就是关于COM组件的编写和调用的,主要包含了使用VC6.0编写和调用COM组件,VS2005中使用C#编写和调用COM组件,以及在VC6.0和VS2005之间互相调用COM组件。关键字:VC6.0编写调用COM VS2005中C#编写和调用COM VC6.0和VS2005之间互相调用COM正文:前一阵在工作转载 2009-11-29 19:01:00 · 174 阅读 · 0 评论 -
通过C#实现集合类纵览.NET Collections及相关技术
概述: 在真正的对象化开发项目中,我们通常会将常用的业务实体抽象为特定的类,如Employee、Customer、Contact等,而多数的类之间会存在着相应的关联或依存关系,如Employee和Customer通过Contact而产生关联、Contact是依赖于Employee和Customer而存在的。在实际的对象应用模块中,可能会有这样的需求:获得一组客户对象(即Customers集合类的原创 2009-11-30 19:25:00 · 160 阅读 · 0 评论 -
c#的dll文件反编译利器
刚接触.net 时就听说 Reflector这个强大反编译工具呢,只是一直没有去使用他. 今天update跟我说Reflector如何,如何有用,用的如何,如何爽,还得意的说反编译了不少DLL...本来本人对新鲜事就非常有兴趣,听他这么一说.决定试一试这个传说中的工具. 我用的版本是4.1.84.0,以,把自己编写DLL反编译了一下,反编译后的代码除了变量名不同外,其它基本上是一至的,我把反编译后转载 2010-01-28 16:17:00 · 441 阅读 · 0 评论 -
[你必须知道的.NET]之"值类型与引用类型"
本文将介绍以下内容: 类型的基本概念 值类型深入 引用类型深入 值类型与引用类型的比较及应用 1. 引言买了新本本,忙了好几天系统,终于开始了对值类型和引用类型做个全面的讲述了,本系列开篇之时就是因为想写这个主题,才有了写个系列的想法。所以对值类型和引用类型的分析,是我最想成文的一篇,其原因是过去的学习过程中我就是从这个主题开始,喜欢以IL语言来分析执行,也喜好从底层的过程来深入了解。这转载 2009-12-02 18:21:00 · 333 阅读 · 0 评论 -
[你必须知道的.NET]第二十回:学习方法论
关于这个问题,也有不少刚刚入行的朋友向我问起。我想可能一千个人就有一千个答案,我不能保证自己的想法适合于所有的人,但是这确实是我自己的体会和经历,希望能给你一些参考的价值。同时,我也严正的声明,我也是个学习者,也在不断的追求,所以这里的体会只是交流,并非说教。作为同行,首先恭喜你进入了一个艰难困苦和其乐无穷并存的行业,这是软件的现状,也是软件的未来。如果你想迅速成功,或者发家致富,显然是个难以原创 2009-12-04 09:24:00 · 235 阅读 · 0 评论 -
构建DataGridView的定制NumericUpDown单元格(Cell)和表格列(Column)
【引言】 Windows Forms 2.0为DataGridView提供了多种单元格和表格列类型。例如,文本框单元格和表格列(DataGridViewTextBoxCell/ DataGridViewTextBoxColumn)和一对基于复选框的组合( DataGridViewCheckBoxCell/ DataGridViewCheckBoxColumn)。虽然单元格和表格列类型较丰富,转载 2009-12-05 16:28:00 · 1739 阅读 · 1 评论 -
定制DataGridView的数值编辑元素:Edit Control、Column与Cell
定制DataGridView的数值编辑元素:Edit Control、Column与Cell 图1. 数值编辑DataGridView运行截图引言 本文将探讨在数值编辑应用中如何定义DataGridView的元素,如:编辑控件(Edit control)、表格列(Column)和单元格(Cell),从而具有如下功能:在定制表格列中可以设置小数位长度(0表示整数,最大长度为转载 2009-12-05 16:38:00 · 366 阅读 · 0 评论 -
[c#]Winform DataGridView 結合 DateTimePicker、NumericUpDown與RadioButton的應用
小弟最近看到某一元件的sample code,利用DataGridView結合了DateTimePicker感覺還不錯用,另外我用此方法在增加了NumericUpDown與RadioButton的整合,分享給大家呀..c#(winfrom)MainForm.cs(DateTimePicker範例) view sourceprint?转载 2009-12-04 19:01:00 · 641 阅读 · 0 评论 -
DataGridView加载自定义ColumnType类型
最近在做项目使用DataGridView控件时,想在编辑单元格时实现这样一个功能:编辑单元格是能显示textbox及一个按钮控件,既可以在textbox里编辑数据,也可以单button按钮弹出一个编辑器窗体来编辑字符串。由于DataGridView没有提供该类型的ColumnType,所以决定自定义一个。自定义ColumnType需要分别从三个类中派生:IDataGridViewEditing转载 2009-12-04 21:58:00 · 5690 阅读 · 1 评论 -
C#中的代理与事件
代理与事件是DotNet的两个重要概念,但好多朋友感觉没有这两个概念照样能够进行常规的DotNet开发。其实深入理解这两个概念对DotNet研究非常重要,尤其在WCSF的开发时,如果不理解这两个概念那你就很难把View层和Presenter层的代码进行分离。以前从网上看过几篇这方面的文章,总感觉有点晦涩难懂,希望这篇文章能对大家理解代理与事件有所帮助。一、代理首先我们要弄清代理是个什么东西。别让一转载 2009-12-04 22:02:00 · 239 阅读 · 0 评论 -
事件
基于Windows的应用程序也是基于消息的。这说明,应用程序是通过Windows来通信的,Windows又是使用预定义的消息与应用程序通信的。这些消息是包含各种信息的结构,应用程序和Windows使用这些信息决定下一步的操作。在MFC等库或Visual Basic等开发环境推出之前,开发人员必须处理Windows发送给应用程序的消息。Visual Basic和今天的.NET把这些传送来的消息封装在转载 2009-12-04 22:03:00 · 274 阅读 · 0 评论 -
如何:在 Windows 窗体 DataGridView 单元格中承载控件
DataGridView 控件提供了多种列类型,使得用户可以通过多种方式输入和编辑值。但是,如果这些列类型无法满足数据输入要求,您也可以使用承载所选控件的单元格创建自己的列类型。要做到这一点,必须定义派生自 DataGridViewColumn 和 DataGridViewCell 的类。您还必须定义派生自 Control 并实现 IDataGridViewEdit转载 2009-12-05 11:42:00 · 198 阅读 · 0 评论 -
PropertyGrid的用法---汉化及对自定义类对象属性的支持
<br />还是来看程序:<br /> <br /> <br /> //定义了一个类<br /> <br /> classtest <br /> <br /> { <br /> <br /><br /> <br /> //性别属性<br /> <br /> privatestring sex; <br /> <br /> [Category("数据"), Browsable(true), ReadOnly(原创 2011-04-07 15:40:00 · 290 阅读 · 0 评论