吴佳鑫的个人专栏

当日事当日毕,没有任何借口

导航

随笔分类 -  C#语言

上一页 1 2 3 4 下一页

关于System.Collections空间
摘要:System.Collections命名空间包含可使用的集合类和相关的接口,提供了集合的基本功能。该命名空间下的.NET非泛型集合类如下所示:— System.Collections.ArrayList:数组集合类,使用大小可按动态增加的数组实现Ilist接口。— System.Collections.BitArray:布尔集合类,管理位值的压缩数组,该值为布尔值。— System.Collections.Queue:队列,表示对象的先进先出集合。— System.Collections.Stack:堆栈,表示对象的简单的后进先出集合。— System.Collections.Hashtabl 阅读全文

posted @ 2011-11-28 00:10 _eagle 阅读(5340) 评论(0) 推荐(1)

关于override,new 那点事
摘要:浅析C#中new、override、virtual关键字的区别OO思想现在已经在软件开发项目中广泛应用,其中最重要的一个特性就是继承,最近偶简单的复习了下在C#中涉及到继承这个特性时,所需要用到的关键字,其中有一些关键点,特地整理出来,方便大家查阅。一、在C#中,new这个关键字使用频率非常高,主要有3个功能: a) 作为运算符用来创建一个对象和调用构造函数。b) 作为修饰符。c) 用于在泛型声明中约束可能用作类型参数的参数的类型。在本文中,只具体介绍new作为修饰符的作用,在用作修饰符时,new关键字可以在派生类中隐藏基类的方法,也就说在使用派生类的方法是调用的方法是New关键字新定义出来的 阅读全文

posted @ 2011-11-27 23:57 _eagle 阅读(228) 评论(0) 推荐(0)

接口与抽象类那点事
摘要:也谈接口和抽象类区别好象这是一个老生常谈的问题,最近有个学生问我他们的区别,于是我就又想起这个话题。有不少的文章在描述这两者,但好象都没有怎么从初学者的浅显角度来看。其实这两者有很多相识之处,当然也有很多不同之处。要理解它们,应该先从面向对象思想开始。面向对象思想里面,最基本的就是封装,继承和多态。所谓封装,说的小,方法(函数)也就是对一种操作的封装,说的大,用类来描述一个具体的对象。那么在面向对象程序中应该说对封装还有一层新的定义,即将类的描述抽象化,也就是说描述类的外貌而不去考虑它的实际。那么我们回过头来看抽象类,它必须被继承使用,描述的其实是一种继承关系,即"is a" 阅读全文

posted @ 2011-11-27 14:28 _eagle 阅读(331) 评论(0) 推荐(0)

关于C#静态构造函数那点事
摘要:关于C#静态构造函数的几点说明静态构造函数是C#的一个新特性,其实好像很少用到。不过当我们想初始化一些静态变量的时候就需要用到它了。这个构造函数是属于类的,而不是属于哪里实例的,就是说这个构造函数只会被执行一次。也就是在创建第一个实例或引用任何静态成员之前,由.NET自动调用。 classSimpleClass{//StaticconstructorstaticSimpleClass(){//}} 在使用静态构造函数的时候应该注意几点: 1、静态构造函数既没有访问修饰符,也没有参数。因为是.NET调用的,所以像public和private等修饰符就没有意义了。 2、是在创建第一个类... 阅读全文

posted @ 2011-11-27 12:02 _eagle 阅读(3604) 评论(0) 推荐(1)

GetType和typeof的区别 以及一个小实例
摘要:GetType和typeof的区别typeof: The typeof operator is used to obtain the System.Type object for atype.运算符,获得某一类型的System.Type对象。Type t = typeof(int);GetType: Gets the Type of the current instance.方法,获取当前实例的类型。 int i = 10;Console.WriteLine(i.GetType());区别:Typeof()是运算符而GetType是方法GetType()是基类System.Object的方法, 阅读全文

posted @ 2011-11-26 23:57 _eagle 阅读(11212) 评论(3) 推荐(8)

自定义事件
摘要:常常有这样的需求,我们要封装一个控件,这个控件内部做一些操作,然后通知使用这个控件的外界控件,以达到一些目的。可以通过订阅这个控件的事件。http://www.cnblogs.com/BeginnerClassroom/archive/2009/01/11/1373689.html注意:事件委托可以用使用其它任何参数:比如:public delegate void ValueChangeHandler(string Value);http://blog.sina.com.cn/s/blog_5cdc2a610100e5fz.htmlhttp://developer.51cto.com/art/ 阅读全文

posted @ 2011-10-12 23:25 _eagle 阅读(224) 评论(0) 推荐(0)

在 C# 中,(int),Int32.Parse() 和 Convert.toInt32()、Int32.TryParse()四种方法有何区别?
摘要:在 C# 中,(int),Int32.Parse() 和 Convert.toInt32()、Int32.TryParse()四种方法有何区别? int 关键字表示一种整型,是32位的,它的 .NET Framework 类型为 System.Int32。Int32.TryParse()不抛异常,会返回true或false来说明解析是否成功,如果解析错误,调用方将会得到0值。 (int)表示使用显式强制转换,是一种类型转换。当我们从 int 类型到 long、float、double 或decimal 类型,可以使用隐式转换,但是当我们从 long 类型到 int 类型转换就需要使用显式强制转 阅读全文

posted @ 2011-03-20 19:13 _eagle 阅读(2683) 评论(0) 推荐(2)

system.object详解
摘要:在C#中,Object类型是所有类型的根,大家平常开发中都要跟它打交道,但不见得对它里面的每个方法都知根知底,下面对它里面的每个方法都进行仔细的总结。概述:构造函数Equals函数Finalize函数GetHashCode函数GetType()函数ReferenceEquals函数MemberWiseClone()函数ToString()函数Object类型中一共有8个方法,重载的方法没有算进来。... 阅读全文

posted @ 2010-11-09 10:39 _eagle 阅读(2878) 评论(0) 推荐(0)

在程序启动前执行其实exe文件
摘要:在program.cs文件中,启动应用程序前,使用 if (System.IO.File.Exists("QQ.exe")) { System.Diagnostics.Process.Start("QQ.exe"); }便可以实现在启动前先执行其实exe文件,比如升级功能也可以将帮助文档做成web页面(选择帮助菜单后弹出web页面)privatevoidbutton2_Click(objectse... 阅读全文

posted @ 2010-03-02 09:16 _eagle 阅读(346) 评论(0) 推荐(0)

同时存在于“c:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\Temporary ASP.NET Files。。。。。。“
摘要:代码Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.com/-- 1 <system.web> 2 <compilation debug="true"> 3 <assemblies> 4 <add assembly="Sy... 阅读全文

posted @ 2010-02-25 17:16 _eagle 阅读(7608) 评论(3) 推荐(0)

定义类成员
摘要:访问级别:publicprivateinternal 成员只能由定义它的项目(程序集)内部的代码访问protected 成员只能由类或派生类中的代码访问protected internal 只能由项目(程序集)中派生类的代码来访问定义字段:readonly: 表示这个字段只能在执行构造函数的过程中赋值,或由初始化赋值语句赋值static:静态字段定义方法:staticvirtual 方法可重写ab... 阅读全文

posted @ 2010-01-24 13:06 _eagle 阅读(1073) 评论(0) 推荐(0)

C#中处理和键盘相关的事件
摘要:在C#中和键盘相关的事件相对比较少,大致就三种:"KeyDown"、"KeyUp"和"KeyPress"。(1).如何在C#程序中定义这些事件:C#中描述"KeyDown"、"KeyUp"的事件的Delegate是"KeyEventHandler"。而描述"KeyPress"所用的 Delegate是"KeyPressEventHandler"。这二个Delegate都被封装在命名空 间"Syet... 阅读全文

posted @ 2010-01-21 11:51 _eagle 阅读(1320) 评论(0) 推荐(1)

C#中处理鼠标相关的事件
摘要:鼠标相关的事件大致有六种,分别是 : "MouseHover"、"MouseLeave"、"MouseEnter"、"MouseMove"、"MouseDown"和"MouseUp"。(1).如何在C#程序中定义这些事件:在C#中是通过不同的Delegate来描述上述事件,其中描述"MouseHover"、"MouseLeave"、"MouseEnter"事件的 Delegate是"EventHa... 阅读全文

posted @ 2010-01-19 14:29 _eagle 阅读(11812) 评论(0) 推荐(0)

类与接口
摘要:可以指定类是抽象的abstract(不能实例化,只能继承,可以有抽象成员)或密封的sealed(不能继承)抽象类声明:public abstract class MyClass{}密封类声明:pulbic sealed class MyClass{}继承和接口:(类名后面加冒号,其后是基类名或接口)public class MyClass:MyBase{} //继承public class MyC... 阅读全文

posted @ 2010-01-18 09:08 _eagle 阅读(7377) 评论(0) 推荐(2)

装箱与拆箱
摘要:C# 装箱、拆箱(取消装箱)装箱(boxing)是隐式的将一个值型转换为引用型对象。 拆箱(unboxing)就是将一个引用型对象转换成合适值型,一般是对装箱的变量进行拆箱。 ­装箱和取消装箱使值类型能够被视为对象。对值类型装箱将把该值类型打包到 Object 引用类型的一个实例中。这使得值类型可以存储于垃圾回收堆中。取消装箱将从对象中提取值类型。在此示例中,整型变量 i 被“... 阅读全文

posted @ 2010-01-17 23:11 _eagle 阅读(3073) 评论(0) 推荐(1)

委托基础
摘要:1.什么是委托?委托是一种定义方法签名的类型,可以与具有兼容签名的任何方法关联。 2.委托有什么特点? 委托类似于 C++ 函数指针,但它们是类型安全的。委托允许将方法作为参数进行传递。委托可用于定义回调方法。委托可以链接在一起;例如,可以对一个事件调用多个方法。方法不必与委托签名完全匹配。C# 2.0 版引入了匿名方法的概念,此类方法允许将代码块作为参数传递,以代替单独定义的方法。C# 3.0 ... 阅读全文

posted @ 2010-01-15 09:24 _eagle 阅读(403) 评论(0) 推荐(0)

OOP概念简介
摘要:1.类和对象2.属性和字段 1.属性不能直接访问数据 2.使用属性可以来限制字段,包括:取值范围和读(get)写(set) 3.一般情况下,在访问状态时最好提供属性,而不是字段3.方法:用于访问对象的功能4.构造函数:没有参数,与类同名。用new关键字调用。可以有多个构造函数(须重载)5.析构函数:.net framework可以自动清理对象,自已调用析构函数。6.静态类:类中只包含静态成员,且不... 阅读全文

posted @ 2010-01-14 11:36 _eagle 阅读(1874) 评论(0) 推荐(0)

params,ref,out关键字
摘要:参数数组params:c#允许为函数指定一个(只能指定一个)特定的参数,这个参数必须是函数定义中的最后一个参数,称为参数数组。参数数组可以使用个数不定的参数调用函数,它可以使用params关键字来定义。特点1,在方法成员的参数列表中使用,为该方法提供了参数个数可变的能力2,该参数必须是一个一维数组3,params 关键字可以指定在参数数目可变处采用参数的方法参数。4,在方法声明中的 params ... 阅读全文

posted @ 2010-01-14 11:35 _eagle 阅读(387) 评论(0) 推荐(0)

数组
摘要:一维数组以线性方式存储固定数目的项,只需一个索引值即可标识任意一个项。在 C# 中,数组声明中的方括号必须跟在数据类型后面,且不能放在变量名称之后,而这在 Java 中是允许的。因此,类型为 integers 的数组应使用以下语法声明: int[] arr1; 下面的声明在 C# 中无效: //int arr2[]; //compile error 声明数组后,可以使用 new 关键字设置其大小,... 阅读全文

posted @ 2010-01-14 08:55 _eagle 阅读(348) 评论(1) 推荐(1)

.NET中 文件上传功能的实现
摘要:首先判断,FileUpload控件的HasFile属性是否为true,,如果为true,则表示控件已经确认上传文件存在。。。。调用SaveAs方法实现上传。 有三种访问上传文件的方式,一,FileBytes..二,FileContent..三,PostedFile 其中,通过PostedFile属性,调用这个属性可以获得一个与上传文件相关的HttpPostedFile对象,使用这个对象可以获得上传... 阅读全文

posted @ 2010-01-08 16:02 _eagle 阅读(5695) 评论(0) 推荐(1)

上一页 1 2 3 4 下一页