C#
xiaotaibai2008
这个作者很懒,什么都没留下…
展开
-
(15)构建自定义集合类
*更多的集合接口 如图,集合的简单继承关系 **IList和IDictionary从某种意义上说,列表只是字典的一种特例,其中“键”总是一个整数,“键集”总是从0开始的非负整数的一个连续集合。挑选一个集合时,首先要考虑的两个接口即是IListIDictionary。但是两者的侧重点不同,虽然两个接口都要实原创 2011-11-14 15:02:54 · 480 阅读 · 0 评论 -
(18)同步和更多线程处理模式
*使用Monitor来同步(System.Threading.Monitor)为了标识受保护代码段的开始和结束位置,需要分别调用静态方法Monitor.Enter()和Monitor.Exit()。在这两者之间的所有代码一定要用Try/finally块包围好,否则,在受保护的代码段内可能发生一个异常,造成Monitor.Exit()永远都无法被调用,从而长时间的阻止(block)其他线程。原创 2011-11-17 15:10:27 · 794 阅读 · 0 评论 -
C#入门经典---Windows笔记(1)
尝试着看beginning visual C sharp 2010的英文版,看不懂就看中文的翻译~~~继续好好学习,天天向上!!!-------------------------------------------------------------------------------------------------------------------------------------原创 2011-11-18 08:56:54 · 1386 阅读 · 0 评论 -
得得得
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;namesp原创 2011-11-22 17:52:45 · 575 阅读 · 0 评论 -
(9)异常处理
*catch块必须按照从具体到常规的排列顺序排列。 常规catch块即catch{},与catch(System.Exception)完全一致,只是没有类型名或变量名,必须放在最后一个catch块。 异常处理的指导原则:只捕捉你能处理的异常不要隐藏(bury)你不能完全处理的异常尽可能少的使用System.Exception和常规Catch块避免在调用栈较低的位置报原创 2011-11-07 17:13:52 · 392 阅读 · 0 评论 -
(11)委托和Lamda表达式
**委托(delegate):一个表示方法的数据类型。间接派生于System.Delegate委托是一个引用类型,但不必用new来实例化它。直接传递名称,而不是现实实例化。这是c#2.0开始支持的一个新语法,成为委托推断(delegate inference)namespace delegateEx{ //委托声明 public delegate bool Compa原创 2011-11-10 09:32:21 · 5202 阅读 · 0 评论 -
(8)合式类型
*重写object的成员*重写ToString() int intNuma = 1; int intNumb = 2; public override string ToString() { return string.Format("{0} {1}",intNuma,intNumb);原创 2011-11-07 15:45:25 · 472 阅读 · 0 评论 -
(10)泛型
*泛型类型概述参数化类型:*可空类型也是泛型。 //System.Nullable nullableInt; int? op1 = 5; //int result = op1 * 5;无法将int?隐式转换为int,需要显示转换。 //如果op1是null,就会生成System.Inval原创 2011-11-08 11:05:31 · 926 阅读 · 0 评论 -
(12)事件
**多播委托(multicast delegate):一个委托变量可以引用一系列委托,在这一系列委托中,每个委托都顺序指向一个后续的委托,从而形成一个委托链,或者称为多播委托。使用多播委托,可以通过一个方法对象来调用方法链,创建变量来引用方法链,并将那些数据类型用作参数传递给方法。在C#中,多播委托是一个通用的模式,这个模式称为“observer ”或者publish_subscribe模式,原创 2011-11-10 17:27:19 · 772 阅读 · 4 评论 -
c# 本质论学习笔记——(1)数据类型
基本数值类型 整数类型: sbyte byte(8)/ short ushort(16) / int uint(32)/ long ulong(64) [u\l\lu\ul] 浮点类型:float(32)[f] doubel(64) decimal(128)[m/M] *decimal 与c#的浮点类型的区别 decimal 基数为十进制的浮点类型,而c#的浮点类型是基原创 2011-11-02 09:47:32 · 567 阅读 · 0 评论 -
(2)运算符和控制流
运算符一元运算符二元运算符 将加法运算符用于字符串。 在算数运算符中使用字符。int n='3'+'4';char c=(char)n; 浮点类型的特殊性不精确非数字:-1f/0==>负无穷大 圆括号() 赋值运算符= 递增递减++ --**线性安全的递增和递减(System.Threading.Interlocked原创 2011-11-02 14:08:41 · 299 阅读 · 0 评论 -
(4)类
*面向对象的特征:封装(访问修饰符)、继承、多态(方法)。*要用new运算符指示“运行时”为一个类的对象分配内存、实例化对象,并返回对实例化对象的引用。*垃圾回收器(garage collector):“运行时”会在最后一次访问对象之后,并在应用程序结束之前的某个时候,自动回收内存。**this:在C#中,为了显示的指出当前访问的字段或方法是包容类的一个实例成员,可以使用关键字this原创 2011-11-03 09:29:41 · 317 阅读 · 0 评论 -
(5)继承
*派生类赋值给基类成为隐式转换。同时,该实例被引用为基类型,而他现在提供的功能也是基类的。*基类赋值给派生类需要强制类型转换。并且可能抛出异常。*从一个派生类中访问一个受保护的基类的成员,必须确定在编译时受保护的成员是派生类(或者它的某个子类)的一个实例。即派生类和派生类的实例才可以访问基类的受保护成员。*C# 是单一继承的。如果需要多重继承,可以使用聚合(aggregation)[不原创 2011-11-04 10:38:18 · 289 阅读 · 0 评论 -
(16)反射、特性和动态编程
**反射:是在在一个程序集中的元数据进行检查的过程。除此之外,可以利用反射枚举程序集中的所有类型,并搜索满足特定条件的那些类型。通过System.type的实例来访问一个类型的元数据。利用反射,可以访问程序集中的元数据,使用元数据,在运行时动态调用一个类型的成员,而不是在执行编译时绑定。**使用System.Type访问元数据。Type.NameType.IsPublicT原创 2011-11-15 18:02:41 · 1092 阅读 · 0 评论 -
(7)值类型
*值类型:栈 引用类型:堆*值类型struct :不支持终结器。 struct Angle { //构造器,在struct中禁止默认(无参数)的构造器 public Angle(int hour, int minute, int seconds) { _Hours = hour;原创 2011-11-04 15:00:31 · 408 阅读 · 0 评论 -
(3)方法和参数
1.命名空间(using)、类型名称(console)、作用域、方法名称、参数、方法返回。2.方法的声明3. using指令嵌套的using指令使用别名 using Timer =System.Timers.Timer …… Timer time;4. 参数Main() 的返回值和参数原创 2011-11-02 17:36:02 · 478 阅读 · 0 评论 -
(17)多线程处理
**线程using System.Threading.Tasks;//简单的线程实例 const int reprtitions = 100; Task task = new Task(() => { for (int count = 0; count < reprtitions;原创 2011-11-17 08:58:21 · 2328 阅读 · 0 评论 -
实现DataGridView行的拖动,即实现行的顺序交换
参考:http://blog.csdn.net/soarheaven/article/details/32673791.界面准备(1)首先在form中添加一个DataGridView控件,将默认AllowDrop=false 的属性设置为True,否侧不能拖动!(2)对DataGridView的对象实现非数据源的绑定,因为设置DataSource属性即当控件被数据绑定时,无法以编程方式原创 2012-10-22 17:00:05 · 14749 阅读 · 2 评论