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;

    ——当我们面对枯燥窘迫甚至是痛苦的生活时,只是缺少了提枪上阵去干他娘的勇气!
  • 相关阅读:
    剑指offer——用两个栈实现队列
    根据前序和中序重建二叉树、后序和中序重建二叉树
    归并排序
    排序
    快速排序(java版)
    List
    单链表的基本操作
    集合
    数组
    结构体
  • 原文地址:https://www.cnblogs.com/vakeynb/p/struct.html
Copyright © 2011-2022 走看看