very short question couldn't find solution on web right now.
int test = 1 + 2;
will 1 + 2
performed during run- or compile-time?
reason asking: think people use literal without specifying why has been used or means because not want waste bit performance running calculation , believe calculate happens during compiletime , has no effect on performance:
int nbr = 31536000; //what heck that?
instead of
int nbr = 365 * 24 * 60 * 60; //i guess know nbr supposed now...
since examples constant expressions (i.e. consist of constants or constructs evaluate such), be evaluated @ compile time.
a constant-expression expression can evaluated @ compile-time.
the type of constantexpression can 1 of following: sbyte, byte, short, ushort, int, uint, long, ulong, char, float, double, decimal, bool, string, enumeration type, or null type.
the following constructs permitted in constant expressions:
- literals (including null literal).
- references const members of class , struct types.
- references members of enumeration types.
- parenthesized sub-expressions, constant expressions.
- cast expressions, provided target type 1 of types listed above.
- the predefined
+
,–
,!
, ,~
unary operators. - the predefined
+
,–
,*
,/
,%
,<<
,>>
,&
,|
,^
,&&
,||
,==
,!=
,<
,>
,<=
, ,>=
binary operators, provided each operand of type listed above. - the
?:
conditional operator.
Comments
Post a Comment