C#笔记整理(结构与类)

结构类型

定义:

struct MyStructName
{
    public <Type> <TypeName>;
}

结构是值类型\

//声明
MyStructName name = new MyStructName();
//调用
//name.<TypeName>

结构可以拥有函数

类是引用类型
定义:

class MyClass
{
    //Class Members
}

访问级别

private : 私有成员, 在类的内部可以访问。 
protected : 保护成员,该类内部和继承类中可以访问。
internal: 在同一命名空间内可以访问。
public : 公共成员,完全公开,没有访问限制。 

编译器是不容许派生类的访问级别高于基类

abstract与sealed

abstract:不能实例化,只能继承,可以有抽象成员。
sealed:密封类,不能被继承。

构造函数和析构函数

构造函数:
在类实例化时需要执行的(例如对类成员的赋值)

static void Main(string[] args)
{
    MyClass mc = new MyClass();
    Console.WriteLine(mc.a);
    Console.ReadKey();
}
class MyClass
{
    public int a;
    public MyClass()
    {
        a = 10;
    }
}

析构函数:
当进行垃圾回收时,就执行析构函数中的代码,释放资源。
因为C#特有的GC机制,所以不要太去担心内存的问题。

结构和类的区别

结构是值类型,类是引用类型

 static void Main(string[] args)
{
    MyClass ca = new MyClass();
    MyClass cb = ca;
    ca.ca = 10;
    cb.ca = 20;
    Console.WriteLine("ca.ca="+ca.ca);
    Console.WriteLine("cb.ca=" + cb.ca);
    MyStruct sa = new MyStruct();
    MyStruct sb = sa;
    sa.sa = 10;
    sb.sa = 20;
    Console.WriteLine("sa.ca=" + sa.sa);
    Console.WriteLine("sb.ca=" + sb.sa);
    Console.ReadKey();
}

class MyClass
{
    public int ca;          
}
struct MyStruct
{
    public int sa;
}
/*
输出:
ca.ca=20
cb.ca=20
sa.ca=10
sb.ca=20
*/

类是引用类型。在把对象赋给变量时,实际上是把带有指针的一个变量赋给了该指针所指向的对象。
下列语句是复制了地址。

MyClass cb = ca;

结构是值类型。其变量并不是包含结构的指针,而是包含结构体本身。
下列语句是复制了结构体的信息。

MyStruct sb = sa;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值