set default value in class constructor C#
10,440
Solution 1
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
Solution 2
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.
Solution 3
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;
}
}
Author by
CraigJSte
Updated on June 12, 2022Comments
-
CraigJSte almost 2 years
I need a default value set and many different pages access and update..initially can I set the default value in the class constructor 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; }