gpt4 book ai didi

C#:数组属性的 getter 和 setter 表达式

转载 作者:行者123 更新时间:2023-11-30 19:36:20 25 4
gpt4 key购买 nike

如何在类 CoolerSystem 中为数组属性 CoolerFanIsOn 编写 getter 和 setter 表达式?我为 Lamp 类的非数组属性 IsOn 展示了类似的期望表达式。

class CoolerFan{

bool isOn;
public bool IsOn {
get => isOn;
set {
isOn = value;
}
}
}

class CoolerSystem {

private CoolerFan[] = new CoolerFan[5];
private bool[] coolerFanIsOn = new Boolean[5];

// invalid code from now

public bool[] CoolerFanIsOn {
get => coolerFanIsOn[number];
set {
coolerFanIsOn[number] = value;
}
}
}

最佳答案

您可以使用 indexer :

public class CoolerSystem
{
private bool[] _coolerFanIsOn = new Boolean[5];

public bool this[int index]
{
get => _coolerFanIsOn[index];
set => _coolerFanIsOn[index] = value;
}
}

顺便说一句,=>expression bodied properties这是 C#6 中的新内容。如果您不能使用(setter 在 C#7 中是新的)使用旧语法,索引器与它无关(C#3):

public bool this[int index]
{
get { return _coolerFanIsOn[index]; }
set { _coolerFanIsOn[index] = value; }
}

关于C#:数组属性的 getter 和 setter 表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46948780/

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