gpt4 book ai didi

c# - 从结构访问字段

转载 作者:太空宇宙 更新时间:2023-11-03 21:17:02 25 4
gpt4 key购买 nike

例如,我有一个名为 MyHouse 的结构。

struct MyHouse
{
int Light;
int Water;
int Food;

public MyHouse(int Light, int Water, int Food)
{
this.Light = Light;
this.Water = Water;
this.Food = Food;
}
}

城市类:

class City
{
private MyHouse house;
public City(MyHouse house)
{
this.house = house;
}
public MyHouse GetHouse()
{
return house;
}
}

例如在 main 中我创建了

 City c = new City(new MyHouse(3,6,1));

Cityclassstruct MyHouse 是。如果我想从 MyHouse 获取灯的数量,从 City 类访问我该怎么做?

最佳答案

在 MyHouse 中添加一个属性,以便可以访问私有(private)数据:

private int light;
public int Light{
get { return light; }
}

然后你可以写:

int l = c.GetHouse().Light;

当然 GetHouse() 可以变成一个属性

public MyHouse House{
get { return house; }
set {light = house;}
}

属性比方法“更好”,因为:

  • 调试时可以轻松使用它们 - 将鼠标悬停在属性上并查看值

  • 它们经常被框架使用( Entity Framework 、图形组件)。属性用于列的自动显示

属性比直接访问字段“更好”,因为:

-如果使用客户端代码访问该属性,一些代码可以稍后添加到属性getset 无需对客户端进行任何更改-如果它们是virtual,它们可以在子类中overriden

关于c# - 从结构访问字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33477324/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com