gpt4 book ai didi

C# 装箱/包装器 - 自定义类充当整数

转载 作者:太空宇宙 更新时间:2023-11-03 10:37:56 28 4
gpt4 key购买 nike

目前我有这门课

public class Currency
{
private int _Amount;
public Currency(){... }
public Currency(int amount){_Amount = amount;}

public override string ToString()
{
return _Amount + " Gold.";
}
}

我希望这个类具有整数的所有功能,这样我就可以做这样的事情

Currency curr = new Currency();
Currency curr2 = new Currency(100);
curr = 50;
curr += 50;
curr += curr2;

我在这里找到了我需要的东西:Integer c++ wrapper但这是针对 C++ 的。谁能告诉我如何在 C# 中执行此操作?

public operator Currency() { return _Amount; }

不起作用,也没有在任何地方添加隐式/显式。

最佳答案

class Currency
{
...


// User-defined conversion from Digit to double
public static implicit operator int(Currency d)
{
return d._Amount;
}
}

参见 implicit (C# Reference)获取更多信息。您要检查的第二件事是 operator overloading .

关于C# 装箱/包装器 - 自定义类充当整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26829414/

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