c#基础

 1、值类型包含实际的数据,不能是null,值类型的变量总是有一个值,可能是0
值类型:枚举(enum)、结构(struct)和原类型


2、装箱:值类型到引用类型
拆箱:引用类型到值类型

应避免不必要的装箱操作,在调用那些将执行隐式装箱的方法之前亲自对值进行装箱

 

3、访问修饰符

public:公共的,所有类都能访问,可以在定义类和派生类之外访问

protected:只能由派生类访问,在类之外是不可见的

private:私有的,只能在定义类中访问(不能在定义此成员的类之外访问它,即使是派生类也不能访问此成员)

internal:只在当前编译单元中可见

 

若没有为成员指定访问修饰符,则默认被声明为private。

 

4、Main方法作为应用程序的入口点,必须被定义为静态的,且可以在任何类中定义,对应用程序无影响!

static public void Main()

 

5、构造函数

base():调用当前类的基类构造函数,基类中有可能存在多个构造函数,调用基类构造函数时只能使用静态成员

this():调用当前类中的另一个构造函数

在派生类构造函数中的任何语句被执行之前调用基类的构造函数,这个规则确保了基于(派生自)其他类的类代码被执行之前得到正确的初始化

 

6、const常量字段默认就是静态(static)的,只读字段(readonly)只能在构造函数中进行初始化,此后任何地方都不能修改

7、c#不支持通过派生实现多重继承,但是可以实现多个接口,在c#中实现多重继承的唯一方法是通过适用接口。

8、如果希望一个类不能被作为基类使用(不能被继承),就在定义这个类时适用sealed关键字,但抽象(virtual)类除外,抽象类的本质决定他们必须作为基类使用

9、结构struct:结构的成员可以是构造器、常量、字段、方法、特性、索引器、操作符以及嵌套的类型,不必对结构进行实例化,但是,不能为结构创建无参数的构造函数,不能

初始化其字段。
struct RGB
{
   public int Red;
   public int Green;
   public int Blue;
}

RGB rgb;
rgb.Red = 0xFF;
rgb.Green = 0xFF;
rgb.Blue = 0XFF;

 

10、使用ref关键字之前,必须在调用方法之前对传递的参数进行初始化。
    out关键字:不要求调用代码先对传递的参数进行初始化,必须在被调用的方法内修改out参数(给其赋值),在参数时引用类型的情况下,必须为参数赋值,不只是为参数中的

某些字段赋值,也不仅仅是进行一些修改,在为out参数赋值之前不能使用它!
而ref参数可以被修改,也可以不被修改。
通过引用(ref)传递值类型,通过引用传递引用类型

通过值传递引用,实际上是在传递引用的副本,这个引用指向原始数据
而通过引用传递引用,实际上是在传递原来的引用

11、方法重载:ref和out修饰符可以使方法能区别于方法的其他版本,但是编译器将ref和out视为是相同的,这意味着可以通过使用ref和out来修改特定的参数以提供重载,但是

不能同时使用这两个修饰符

 

http://www.w3school.com.cn/sql/sql_func_avg.asp

http://www.w3school.com.cn/sql/sql_groupby.asp

http://wenku.baidu.com/view/d17e653231126edb6f1a1073.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值