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

    xiaoxiao2021-03-25  69

    结构类型

    定义:

    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;
    转载请注明原文地址: https://ju.6miu.com/read-33809.html

    最新回复(0)