The C # language specification states (c 10.5.5.1 Static field initialization):
The initializers of a static variable of a class field correspond to a sequence of assignments that are executed in the textual order in which they appear in the class declaration. If a static constructor exists in the class (§ 10.12), the execution of the initializers of the static field occurs immediately before the execution of this static constructor. Otherwise, the initializers of the static field are executed at an implementation-dependent time until the first use of the static field of this class
, - , , . , , .
, "", , . , , . ( 10.12):
:
. .
. .