随笔分类 - c#细节
sealed,new,virtual,abstract与override
摘要:1.sealed---“断子绝孙”密封类不能被继承,不会有子类。密封方法可以重写基类中的方法。2.new---“你是你的,我是我的”new关键字用于显式隐藏从基类继承的成员,也就是说在使用派生类时调用的方法是new关键字新定义出来的方法,而不是基类的方法。在不使用new修饰符的情况下隐藏成员是允许的,但会生成警告。使用new显式隐藏成员会取消此警告,并使用派生类新定义的方法。即:好比是不用祖宗的东西,而是用自己创造的东西。using System.Text; namespace ConsoleApplication1
{ class Program { sta...
阅读全文
private,protected,public和internal的区别
摘要:private是完全私有的,只有在类自己里面可以调用,在类外部和子类都不能调用,子类也不能继承父类的private属性和方法protected虽然可以被外界看到,但外界却不能调用,只有自己及自己的子类可以调用(属性和方法都可以被子类所继承和调用)private和protected的共同点:外部都不可以访问private和protected的区别:在同一类中可以视为一样,继承中可以体现区别private在派生类中不可被访问,而protected可以public:对任何类和成员都完全公开,无限制访问。internal:同一应用程序集内部可以访问该类。protected internal 只能在同一
阅读全文
C# const和readonly的区别
摘要:初始化赋值不同const修饰的常量必须在声明的同时赋值,例如: public class Class1 { public const int MaxValue = 10;//正确声明 public const int maxValue; //错误,常量字段要求提供一个值 public Class1() { maxValue=10; } }readonly字段可以在初始化(声明或构造函数)的过程中赋值。在其他地方不能进行赋值操作。根据所使用的构造函数,readonly可...
阅读全文
C#Equals()和运算符==的区别
摘要:1.对于值类型如果对象的值相等,则相等运算符==返回True,否则返回False2.对于引用类型equals方法比较的是两个对象指向的内存空间内容是不是相同。也就是比较两个引用类型是否是对同一个对象的引用,即两个对象的内容是否相等。对于string类型,==比较字符串的值对于引用类型,==操作符类似于比较的是文件夹的路径是否相同,而equals方法比较的是文件夹中的内容是不是一样。using System; namespace Equals和等号的区别
{ class ClassPerson { private string name=null; ...
阅读全文
浙公网安备 33010602011771号