() Operator (C# Reference)
In addition to being used to specify the order of operations in an expression, parentheses are used to perform the following tasks:
Specify casts, or type conversions.
double x = 1234.7; int a; a = (int)x; // Cast double to int
Invoke methods or delegates.
The () operator cannot be overloaded.
For more information, see Casting and Type Conversions (C# Programming Guide).
A cast expression could lead to ambiguous syntax. For example, the expression (x)–y could be either interpreted as a cast expression (a cast of –y to type x) or as an additive expression combined with a parenthesized expression, which computes the value x – y.
For more information about method invocation, see Methods (C# Programming Guide).
C# Language Specification
For more information, see the C# Language Specification. The language specification is the definitive source for C# syntax and usage.