NGWS SDK Documentation  

This is preliminary documentation and subject to change.
To comment on this topic, please send us email at ngwssdk@microsoft.com. Thanks!

22.7 Expressions Grammar

7.4.1 Argument lists

argument-list:
argument
argument-list
, argument
argument:
expression
ref variable-reference
out variable-reference

7.5 Primary expressions

primary-expression:
literal
simple-name
parenthesized-expression
member-access
invocation-expression
element-access
this-access
base-access
post-increment-expression
post-decrement-expression
new-expression
typeof-expression
sizeof-expression
checked-expression
unchecked-expression

7.5.2 Simple names

simple-name:
identifier

7.5.3 Parenthesized expressions

parenthesized-expression:
( expression )

7.5.4 Member access

member-access:
primary-expression . identifier
predefined-type
. identifier
predefined-type: one of
bool  byte  char  decimal double float  int  long
object sbyte  short  string uint  ulong  ushort

7.5.5 Invocation expressions

invocation-expression:
primary-expression ( argument-listopt )

7.5.6 Element access

element-access:
primary-expression [ expression-list ]
expression-list:
expression
expression-list
, expression

7.5.7 This access

this-access:
this

7.5.8 Base access

base-access:
base . identifier
base [ expression-list ]

7.5.9 Postfix increment and decrement operators

post-increment-expression:
primary-expression ++
post-decrement-expression:
primary-expression --

7.5.10 new operator

new-expression:
object-creation-expression
array-creation-expression
delegate-creation-expression

7.5.10.1 Object creation expressions

object-creation-expression:
new type ( argument-listopt )

7.5.10.2 Array creation expressions

array-creation-expression:
new non-array-type [ expression-list ] rank-specifiersopt array-initializeropt
new array-type array-initializer

7.5.10.3 Delegate creation expressions

delegate-creation-expression:
new delegate-type ( expression )

7.5.11 typeof operator

typeof-expression:
typeof ( type )

7.5.12 sizeof operator

sizeof-expression:
sizeof ( type )

7.5.13 checked and unchecked operators

checked-expression:
checked ( expression )
unchecked-expression:
unchecked ( expression )

7.6 Unary expressions

unary-expression:
primary-expression
+ unary-expression
- unary-expression
! unary-expression
~ unary-expression
* unary-expression
& unary-expression
pre-increment-expression
pre-decrement-expression
cast-expression

7.6.7 Prefix increment and decrement operators

pre-increment-expression:
++ unary-expression
pre-decrement-expression:
-- unary-expression

7.6.8 Cast expressions

cast-expression:
( type ) unary-expression

7.7 Arithmetic operators

multiplicative-expression:
unary-expression
multiplicative-expression
* unary-expression
multiplicative-expression
/ unary-expression
multiplicative-expression
% unary-expression
additive-expression:
multiplicative-expression
additive-expression
+ multiplicative-expression
additive-expression
multiplicative-expression

7.8 Shift operators

shift-expression:
additive-expression
shift-expression
<< additive-expression
shift-expression
>> additive-expression

7.9 Relational operators

relational-expression:
shift-expression
relational-expression
< shift-expression
relational-expression
> shift-expression
relational-expression
<= shift-expression
relational-expression
>= shift-expression
relational-expression
is reference-type
equality-expression:
relational-expression
equality-expression
== relational-expression
equality-expression
!= relational-expression

7.10 Logical operators

and-expression:
equality-expression
and-expression
& equality-expression
exclusive-or-expression:
and-expression
exclusive-or-expression
^ and-expression
inclusive-or-expression:
exclusive-or-expression
inclusive-or-expression
| exclusive-or-expression

7.11 Conditional logical operators

conditional-and-expression:
inclusive-or-expression
conditional-and-expression
&& inclusive-or-expression
conditional-or-expression:
conditional-and-expression
conditional-or-expression
|| conditional-and-expression

7.12 Conditional operator

conditional-expression:
conditional-or-expression
conditional-or-expression
? expression : expression

7.13 Assignment operators

assignment:
unary-expression assignment-operator expression
assignment-operator: one of
= += -= *= /= %= &= |= ^= <<= >>=

7.14 Expression

expression:
conditional-expression
assignment

7.15 Constant expressions

constant-expression:
expression

7.16 Boolean expressions

boolean-expression:
expression