在类构造函数C#中设置默认值

时间:2011-03-09 20:14:56

标签: c# .net code-analysis static-variables variable-assignment

我需要一个默认值集和许多不同的页面访问和更新..最初我可以像这样在类构造函数中设置默认值吗?在C#.NET中执行此操作的正确方法是什么?

public class ProfitVals
{

    private static double _hiprofit;

    public static Double HiProfit
    {
        get { return _hiprofit; }

        set { _hiprofit = value; }
    }

    // assign default value

    HiProfit = 0.09;

}

3 个答案:

答案 0 :(得分:9)

您可以将其放入声明中:private static double _hiprofit = 0.09; 或者如果它是一个更复杂的初始化,你可以在静态构造函数中执行:

   private static double _hiprofit; 
   static ProfitVals() 
   {
      _hiprofit = 0.09;
   }

前者是首选,因为后者支付性能损失:http://blogs.msdn.com/b/brada/archive/2004/04/17/115300.aspx

答案 1 :(得分:6)

不,您必须使用实际的静态构造函数将赋值包含在属性中,如下所示:

class ProfitVals
{
    public static double HiProfit { ... }

    static ProfitVals()  // static ctor
    {
       HiProfit = 0.09;
    }
}

注意:静态构造函数不能声明为private / public且不能包含参数。

答案 2 :(得分:1)

你几乎就在那里,你只需要使用constructor.

public class ProfitVals {
    private static double _hiprofit;

    public static Double HiProfit
    {
        get { return _hiprofit; }

        set { _hiprofit = value; }
    }

    public ProfitVals() {
        // assign default value
        HiProfit = 0.09;
    }
}