0

我必须创建walet类,我计算它有多少coins,所以:

enum Coins {
    OneCent = 0.01f,
    FiveCent = 0.05f,
    OneDollar = 1.0f
}

和:

public class RowQuantity<T> {
    public T entity;
    public int Quantity;
}

和我的钱包:

public class Walet {
    public List<RowQuantity<Coins>> CoinsCash;
    public Walet() {
        this.CoinsCash.Add(new RowQuantity<Coins> { entity = Coins.OneCent, Quantity = 25 });
    }
}

问题出在这里:

我不能enum使用 float value => 所以,我必须将它声明为静态类。

public static class Coins {
    public const float OneCent = 0.01f;
    public const float FiveCent = 0.05f;
    public const float OneDollar = 1.0f;
}

但是通过这种方式,我不能传递泛型类的类型staticinstance

那么,我怎么能意识到这一点?(包含浮点枚举值数量的列表)

4

1 回答 1

2

首先,为避免舍入问题,您需要使用decimal. 其次,您需要使其成为一个实例类,以显示一些静态属性,即OneCentFiveCentOneDollar如下所示:

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
}
于 2013-08-11T08:49:09.900 回答