在公共类中,我有一个私有静态字典.由于Dictionary是静态的,它是否意味着它在同一个对象的所有其他实例中共享(参见下面的示例).
public class Tax
{
private static Dictionary<string, double> TaxBrakets = new Dictionary<string, double>(StringComparer.OrdinalIgnoreCase)
{
{ "Individual", 0.18 },
{ "Business", 0.20 },
{ "Other", 0.22 },
};
public string Type { get; set; }
public double ComputeTax(string type, double d)
{
return d * TaxBrakets[this.Type];
}
}
Run Code Online (Sandbox Code Playgroud)
以这种方式使用Dictionary(作为静态变量)是否可以接受?
您的静态变量TaxBrakets与实例无关.this.TaxBrakets不会编译.所有出现的TaxBrakets都将引用相同的字典.通常,使用静态字典是完全可以接受的.这个特殊的用法看起来有点滑稽,但我需要看到更多的代码来暗示任何变化.
是的,一个静态变量在整个程序中只存在一次,我认为它会按照你期望的方式运行.
这是否是您的会计问题的正确解决方案是有争议的,IANAA,但我的理解是税收括号(注意:"括号"的正确拼写有a c)将收入水平等同于边际税率,知道实体的类型不是本身足以确定税率.
| 归档时间: |
|
| 查看次数: |
13334 次 |
| 最近记录: |