set default value in class constructor C#
I need a default value set and many different pages access and update..initially can I set the default value in the class construc开发者_运维知识库tor like this? What is the proper way to do this in 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;
}
You can put it in the declaration: private static double _hiprofit = 0.09;
Or if it's a more complicated initialization you can do it in the static constructor:
   private static double _hiprofit; 
   static ProfitVals() 
   {
      _hiprofit = 0.09;
   }
The former is preferred as the latter pays a performance penalty: http://blogs.msdn.com/b/brada/archive/2004/04/17/115300.aspx
No, you would have to surround the assignment to the property with an actual static constructor like so:
class ProfitVals
{
    public static double HiProfit { ... }
    static ProfitVals()  // static ctor
    {
       HiProfit = 0.09;
    }
}
Note: a static constructor can not be declared private/public and cannot have parameters.
You're almost there, you just need to use a 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;
    }
}
 
         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论