zoukankan      html  css  js  c++  java
  • .net(C#)中结构和类的区别

    static void Main(string[] args)
    {
    //类型
    //结构:值类型
    //类:引用类型

    //声明的语法:class struct

    //在类中,构造函数里,既可以给字段赋值,也可以给属性赋值。构造函数是可以重载的
    //但是,在结构的构造函数当中,必须只能给字段赋值。
    //在结构的构造函数当中,我们需要给全部的字段赋值,而不能去选择的给字段赋值

    //调用:

    PersonClass pc = new PersonClass();


    //结构是否可以New?
    //在栈开辟空间 结构new 调用结构的构造函数
    PersonStruct ps = new PersonStruct();
    ps.M2();
    PersonStruct.M1();
    Console.ReadKey();
    //结构和类的构造函数:
    //相同点:不管是结构还是类,本身都会有一个默认的无参数的构造函数
    //不同点:当你在类中写了一个新的构造函数之后,那个默认的无参数的构造函数都被干掉了
    //但是,在结构当中,如果你写了一个新的构造函数,那么个默认的无参数的构造函数依然在。
    //
    //如果我们只是单纯的存储数据的话,我们推荐使用结构。

    //如果我们想要使用面向对象的思想来开发程序,我们推荐使用我们的Class

    //结构并不具备面向对象的特征


    // int
    }
    }

    public class PersonClass
    {
    //字段、属性、方法、构造函数
    }

    public struct PersonStruct
    {
    //字段、属性
    private string _name;
    public string Name
    {
    get { return _name; }
    set { _name = value; }
    }

    private int _age;
    public int Age
    {
    get { return _age; }
    set { _age = value; }
    }

    private char _gender;
    public char Gender
    {
    get { return _gender; }
    set { _gender = value; }
    }

    public static void M1()
    {
    Console.WriteLine("我是结构中的静态方法");
    }
    public void M2()
    {
    Console.WriteLine("我是结构的非静态方法");
    }

    public PersonStruct(string name, int age, char gender)
    {
    //this.Name = name;
    //this.Age = age;
    //this.Gender = gender;

    this._name = name;
    this._age = age;
    this._gender = gender;
    }

    作者:课间一起牛

    出处:https://www.cnblogs.com/mhg215/

    声援博主:如果您觉得文章对您有帮助,请点击文章末尾的【关注我】吧!

    别忘记点击文章右下角的【推荐】支持一波。~~~///(^v^)\~~~ .

    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

    如果您有其他问题,也欢迎关注我下方的公众号,可以联系我一起交流切磋!

     B站: 课间一起牛的B站         知乎:课间一起牛的知乎

    码云:课间一起牛的码云      github:课间一起牛的github

  • 相关阅读:
    Java内存模型
    Thread.sleep(0)的作用
    Java中用到的线程调度算法是什么
    怎么检测一个线程是否持有对象监视器
    为什么要使用线程池
    ThreadLocal
    生产者消费者模型的作用
    线程间通信
    线程安全
    c#常日期转换(转)
  • 原文地址:https://www.cnblogs.com/mhg215/p/6087447.html
Copyright © 2011-2022 走看看