什么';这是C#中的一个表达式,你如何识别它们?

什么';这是C#中的一个表达式,你如何识别它们?,c#,expression,C#,Expression,我很难理解C#中的表达式是什么,以及如何从代码片段推断它是否是表达式 例如,为什么是((3))、new Button()、(int)3.5和3E-5表达式?请查看以下文档: 表达式是由一个或多个操作数和零个或多个运算符组成的序列,可以计算为单个值、对象、方法或命名空间。表达式可以由文字值、方法调用、运算符及其操作数或简单名称组成。简单名称可以是变量、类型成员、方法参数、命名空间或类型的名称 表达式是一个由一个或多个操作数和零个或多个运算符组成的序列,可以对单个值、对象、方法或命名空间进行求值。保

我很难理解C#中的表达式是什么,以及如何从代码片段推断它是否是表达式


例如,为什么是((3))、new Button()、(int)3.5和3E-5表达式?

请查看以下文档:


表达式是由一个或多个操作数和零个或多个运算符组成的序列,可以计算为单个值、对象、方法或命名空间。表达式可以由文字值、方法调用、运算符及其操作数或简单名称组成。简单名称可以是变量、类型成员、方法参数、命名空间或类型的名称


表达式是一个由一个或多个操作数和零个或多个运算符组成的序列,可以对单个值、对象、方法或命名空间进行求值。保持它的简单和不太正式:任何产生可分配给变量的值的东西。“编程语言中的表达式是一个或多个常量、变量、运算符和函数的组合,编程语言(根据其特定的优先级和关联规则)对这些常量、变量、运算符和函数进行解释,并进行计算以生成另一个值(“在有状态的环境中返回”)。与数学表达式一样,这个过程称为求值。“@HansPassant谢谢,这是一个相当简洁的描述。那么55,Brush。Black,x==2都是表达式吗?x=5*2;是表达式吗?我想不是,因为你不能给变量赋值x=5*2。好吧,冒着不够简洁的风险,在花括号语言中赋值也是表达式。有点古怪,不经常使用,但是t确实支持类似于a=b=c=42的语法;将三个变量初始化为相同的值。