c# 类库
[SerializableAttribute]
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.AutoDual)]
public class Object
1 public virtual bool Equels (Object)
2 public static bool static Equels (Object,Object)
默认实现为对引用类型使用引用相等,对值类型使用二进制按位相等。引用相等性是指进行比较的多个对象引用所引用的是同一个对象。按位相等性是指进行比较的多个对象具有相同的二进制表示形式。派生类可以通过继承实现值相等。
派生equals必须遵循的几个原则
1 x.equals(x)必须为true;,2 x.equals(y)和y.equals(x)必须返回相同值 3 如果x,y都是NaN,则x.Equals(y)返回true.
4 x.equals(z)=true,当且仅当x.equals(y)=true&&y.Equals(z)=true 5 x.Equals(Null)为false 6 不改变x,y指向的对象,x.Equals(y)返回值不变
Equals的实现不可以引发异常,实现IComparable类型,必须重写Equals.重写Equals必须也重写GetHashCode.
3 public virtual int GetHashCode()
特点: 如果两个对象相等,则hashcode必须相等。反过来不一定成立
4 public Type GetType()
表示当前实例的确切运行时类型
5 public static bool ReferenceEquals(Object,Object) - 如果两者是同一个实例,或者都为空返回true,否则false;
6 Protected Object MemberwiseClone () - 拷贝当前对象的非静态成员,值类型进行逐位复制,引用类型则拷贝引用。
使用ICloneable接口实现深层复制
[ComVisibleAttribute(true)]
Public Interface ICloneable
1 Object Clone()
[SerializableAttribute]
[ComVisibleAttribute(true)]
[ClassInterfaceAttribute(ClassInterfaceType.None)]
public abstract class Type:MemberInfo,_Type,IReflect
1 public static readonly char Delimiter = .
2 Public static readonly Object Missing = 返回system.reflection.missing 对象
3 public static readonly MemberFilter FilterNameIgnoreCase = 返回
相关文档:
这本书讲解
C#
语言十分详细,我将其中的重要内容整理成条款,以备忘。
1.
事件是在满足某个特定条件时发生的,触发
(raise)
事件的对象称为发布者
(publisher)
,对这个事件进行响应的对象称为订阅者
(subscriber)
。事件处理程序是注册到事件的方法,可在任何类或者结构 ......
为什么要使用C#泛型?
为了了解这个问题,我们先看下面的代码,代码省略了一些内容,但功能是实现一个栈,这个栈只能处理int数据类型:
public class Stack
{
private int[] m_item;
public ......
使用 PlaySound 在移动设备上播放声音文件。此代码使用 System.Runtime.InteropServices
调用 Compact Framework 的 CoreDll.DLL 的 PlaySound 方法
关于播放实现:
//播放标志
private enum Flags
{
&n ......
C#清除页面缓存
private void SetPageNoCache()
{
Response.Buffer = true;
Response.ExpiresAbsolute = Sy ......