我必须创建walet
类,其中我计算它有多少coins
,所以:
enum Coins {
OneCent = 0.01f,
FiveCent = 0.05f,
OneDollar = 1.0f
}
和
public class RowQuantity<T> {
public T entity;
public int Quantity;
}
和我的walet:
public class Walet {
public List<RowQuantity<Coins>> CoinsCash;
public Walet() {
this.CoinsCash.Add(new RowQuantity<Coins> { entity = Coins.OneCent, Quantity = 25 });
}
}
问题出现在这里:
我不能让enum
浮动值=&gt;所以,我必须将它声明为静态类。
public static class Coins {
public const float OneCent = 0.01f;
public const float FiveCent = 0.05f;
public const float OneDollar = 1.0f;
}
但是通过这种方式,我无法将static
类型作为通用类的instance
传递。
那么,我怎么能意识到这一点? (列出浮点枚举值的数量)
答案 0 :(得分:2)
首先,为了避免舍入问题,您需要使用decimal
。其次,您需要使它成为一个实例类,显示一些OneCent
,FiveCent
和OneDollar
的静态属性,如下所示:
public sealed class Coins
{
private decimal _num;
private Coins(decimal num)
{
_num = num;
}
public static readonly Coins OneCent = new Coins(0.01M);
public static readonly Coins FiveCent = new Coins(0.05M);
public static readonly Coins OneDollar = new Coins(1M);
//add more properties like this
}