zoukankan      html  css  js  c++  java
  • 调用结构属性、方法或公共字段的区别

    C#中类和结构相似,但结构缺乏某些功能,eg:继承。结构是个值类型,因此创建结构要比创建类的速度要快。如果你有一些紧凑循环,需要在其中创建大量新数据结构,则应考虑使用结构而不是类。结构还用于封装数据字段组,例如网格上点的坐标或矩形的尺寸。

    下面是两个结构:

    public struct StructWithPublicMembers
    {
    public int X;
    public int Y;

    }
    public struct StructWithProperties
    {
    private int _X;

    public int X
    {
    get { return _X; }
    set { _X = value; }
    }
    private int _Y;

    public int Y
    {
    get { return _Y; }
    set { _Y = value; }
    }
    }

    下面是赋值:

    StructWithProperties PropertiesStruct;
    StructWithPublicMembers MembersStruct;
    MembersStruct.X = 50;
    MembersStruct.Y = 100;
    PropertiesStruct.X = 50;
    PropertiesStruct.Y = 100;
    Console.Read();

    可是编译出错:

    分析:当调用结构的公共字段时,可以不使用new关键字来定义结构变量;当调用结构的属性或方法时,必须使用new关键字来定义结构变量。

    解决:

    StructWithProperties PropertiesStruct =new StructWithProperties();
    StructWithPublicMembers MembersStruct;
    MembersStruct.X = 50;
    MembersStruct.Y = 100;
    PropertiesStruct.X = 50;
    PropertiesStruct.Y = 100;

    ——当我们面对枯燥窘迫甚至是痛苦的生活时,只是缺少了提枪上阵去干他娘的勇气!
  • 相关阅读:
    怎样评价聚类结果好坏?
    libsvm 用在 婚介数据集中 预测 用户配对
    mac 常用操作
    mac 安装 tomcat 配置
    mac 安装 maven 配置
    mac 安装 java 配置
    mac 安装 photoshop CS6
    mac 应用程序安装目录
    JavaScript、ES5和ES6的介绍和区别
    css 两列自适应布局的4种思路
  • 原文地址:https://www.cnblogs.com/vakeynb/p/struct.html
Copyright © 2011-2022 走看看