.Net Framework
ProgramRookie
go go go
展开
-
ContextMenuStrip简单使用
(1)来源Namespace: System.Windows.FormsAssembly: System.Windows.Forms (in System.Windows.Forms.dll) (2)继承层次System.Object System.MarshalByRefObject System.ComponentModel.Component原创 2011-12-20 14:05:37 · 1305 阅读 · 0 评论 -
ref 和 out 的异同
1.相似点 (1)生成相同的IL代码 (2)元数据几乎完全一致,只有一个bit除外,它用于记录声明时指定的是ref还是out 2.不同点 (1)主要体现在编译器行为上:根据是out 还是 ref, 编译器会按照不同的标准来验证你写的代码是否正确。 如果使用out来标记,表明不指望调用者在调用方法之前初始化好对象,被调用的方法不应该直接读取对象原创 2012-01-05 17:33:23 · 564 阅读 · 0 评论 -
如何实现自定义事件
1.对于事件,熟悉observer模式的朋友应该很容易理解。实际上,使用事件所起到的作用也是类似的,是为了让应用程序中的一个或多个对象,能够以回调的方式,接收关于某个事件的通知。 2.实现一个自定义事件(1) 监听对象的设计作为监听对象listener,一定要实现一个特定的函数如下:public void _Func(Object sender, MailEventArgs e原创 2012-01-17 17:36:38 · 757 阅读 · 0 评论 -
System.Tuple类型
1.定义在System命名空间,Microsoft定义了几个泛型Tuple类型,它们全部从Object派生,区别只在于泛型参数的个数。 2.用法一般的,可以用它来存储和传递一个逻辑数据行,比如,在一次函数调用中,获取了员工的姓名和年龄,如果不想自定义类型,就可以通过以下方式,来把这一组类型不同的数据传递到函数外: static Tuple GetNameAndAg原创 2012-01-12 17:36:04 · 2850 阅读 · 0 评论 -
字段与属性的区别
1.什么是字段每个ADT都可以定义一些被获取或更改的状态信息。这种状态信息,如果是以成员变量的形式来呈现的,那么就可以称它为字段。class Base{public int m_bi;}; 2.什么是属性为了遵循面向对象设计和编程的重要原则之一,数据封装。最初的解决方案是不要公开字段,而通过自定义访问器方法来完成状态的获取与改变。 class Base{原创 2012-01-11 17:12:02 · 2472 阅读 · 1 评论 -
IEnumerable和IEnumerator的使用
1. 如果希望自己的类型是可枚举的,那么就必须能够完成两件事情,使得自己的类型实现IEnumerable接口,以及实现属于它的枚举器接口。微软给的例子:public class People : IEnumerable{…}public class PeopleEnum : IEnumerator{…} 2. 接着,既然是实现接口,就必须实现接口的方法,原创 2012-01-06 17:46:56 · 480 阅读 · 0 评论 -
C#的扩展方法应用
1.问题提出 有时候,我希望能够调用一个方法判断一个string类型是否是合法的邮箱地址字符串。一般的可以采取以下方法: 定义一个专门的静态工具类,名为StringFormatChecker,并在其中定义一个方法,名为CheckMailAddrFormat,用于测试该字符串是否是合法的邮箱地址格式。 public static StringFormatChecker原创 2011-12-28 17:35:40 · 427 阅读 · 0 评论 -
ListBox的多选
(1) 如果希望一个ListBox是多选的,除了通过控件属性手动设置外,也可以直接设置ListBox实例的SelectionMode属性。一般的,将这个属性值设置为MultiExtended,这个类型的行为比较普遍,即以Ctrl多选,以Shift框选。 (2) 假设你已经多选了,并想知道,现在多选的都是哪些Text,可以通过如下方式遍历: f原创 2011-12-15 16:04:42 · 19258 阅读 · 0 评论 -
ListBox的数据库绑定
'首先,在成功得到DataSet的实例后,获得其中的Table,作为数据源listbox1.DataSource = ds.Tables(0)'这里,表示用什么Column来作为Text,用什么Column来作为Value.listbox1.DisplayMember = "ColumnNameA" 'The textlistbox1.ValueMember = "Colum原创 2011-12-15 16:12:00 · 729 阅读 · 0 评论 -
Linq查询
var result=from c in Products where c.Price>500 select c;foreach(Product p in result){ Console.WriteLine(p.Name);}foreach(Product p in result){ Console.Wr原创 2012-02-17 13:40:59 · 423 阅读 · 0 评论