BinaryExpression 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
代表具有二元運算子的運算式。
public ref class BinaryExpression : System::Linq::Expressions::Expression
public ref class BinaryExpression sealed : System::Linq::Expressions::Expression
public class BinaryExpression : System.Linq.Expressions.Expression
public sealed class BinaryExpression : System.Linq.Expressions.Expression
type BinaryExpression = class
inherit Expression
Public Class BinaryExpression
Inherits Expression
Public NotInheritable Class BinaryExpression
Inherits Expression
- 繼承
範例
下列範例會建立 BinaryExpression 物件,代表另一個數位的減法。
// Create a BinaryExpression that represents subtracting 14 from 53.
System.Linq.Expressions.BinaryExpression binaryExpression =
System.Linq.Expressions.Expression.MakeBinary(
System.Linq.Expressions.ExpressionType.Subtract,
System.Linq.Expressions.Expression.Constant(53),
System.Linq.Expressions.Expression.Constant(14));
Console.WriteLine(binaryExpression.ToString());
// This code produces the following output:
//
// (53 - 14)
' Create a BinaryExpression that represents subtracting 14 from 53.
Dim binaryExpression As System.Linq.Expressions.BinaryExpression = _
System.Linq.Expressions.Expression.MakeBinary( _
System.Linq.Expressions.ExpressionType.Subtract, _
System.Linq.Expressions.Expression.Constant(53), _
System.Linq.Expressions.Expression.Constant(14))
Console.WriteLine(binaryExpression.ToString())
' This code produces the following output:
'
' (53 - 14)
備註
下表摘要說明可用來建立 BinaryExpression 具有屬性所表示 NodeType 之特定節點類型的 Factory 方法。 每個資料表都包含特定運算類別的資訊,例如算術或位運算。
二進位算數運算
節點類型 | Factory 方法 |
---|---|
Add | Add |
AddChecked | AddChecked |
Divide | Divide |
Modulo | Modulo |
Multiply | Multiply |
MultiplyChecked | MultiplyChecked |
Power | Power |
Subtract | Subtract |
SubtractChecked | SubtractChecked |
位元運算
節點類型 | Factory 方法 |
---|---|
And | And |
Or | Or |
ExclusiveOr | ExclusiveOr |
Shift 作業
節點類型 | Factory 方法 |
---|---|
LeftShift | LeftShift |
RightShift | RightShift |
條件式布耳運算
節點類型 | Factory 方法 |
---|---|
AndAlso | AndAlso |
OrElse | OrElse |
比較作業
節點類型 | Factory 方法 |
---|---|
Equal | Equal |
NotEqual | NotEqual |
GreaterThanOrEqual | GreaterThanOrEqual |
GreaterThan | GreaterThan |
LessThan | LessThan |
LessThanOrEqual | LessThanOrEqual |
聯合作業
節點類型 | Factory 方法 |
---|---|
Coalesce | Coalesce |
陣列索引作業
節點類型 | Factory 方法 |
---|---|
ArrayIndex | ArrayIndex |
此外, MakeBinary 方法也可以用來建立 BinaryExpression 。 這些處理站方法可用來建立 BinaryExpression 代表二進位作業的任何節點類型。 屬於 類型的 NodeType 這些方法參數會指定所需的節點類型。
屬性
CanReduce |
取得值,指出是否可以減少運算式樹狀架構的節點。 |
CanReduce |
表示節點可精簡為更簡單的節點。 如果傳回 true,則可呼叫 Reduce() 以產生精簡的形式。 (繼承來源 Expression) |
Conversion |
取得聯合或複合指派運算所使用的型別轉換函式。 |
IsLifted |
取得值,這個值指出運算式樹狀節點是否表示對運算子的「消除」呼叫。 |
IsLiftedToNull |
取得值,這個值指出運算式樹狀節點是否表示對運算子的「消除」呼叫,該運算子的傳回型別對可為 Null 的型別已消除。 |
Left |
取得二元作業的左運算元。 |
Method |
取得二元作業的實作方法。 |
NodeType |
取得這個 Expression 的節點類型。 (繼承來源 Expression) |
Right |
取得二元作業的右運算元。 |
Type |
取得此 Expression 代表之運算式的靜態類型。 (繼承來源 Expression) |
方法
Accept(ExpressionVisitor) |
分派給這個節點類型的特定造訪方法。 例如,MethodCallExpression 會呼叫 VisitMethodCall(MethodCallExpression)。 |
Accept(ExpressionVisitor) |
分派給這個節點類型的特定造訪方法。 例如,MethodCallExpression 會呼叫 VisitMethodCall(MethodCallExpression)。 (繼承來源 Expression) |
Equals(Object) |
判斷指定的物件是否等於目前的物件。 (繼承來源 Object) |
GetHashCode() |
做為預設雜湊函式。 (繼承來源 Object) |
GetType() |
取得目前執行個體的 Type。 (繼承來源 Object) |
MemberwiseClone() |
建立目前 Object 的淺層複製。 (繼承來源 Object) |
Reduce() |
將二進位運算式節點精簡為更簡單的運算式。 |
Reduce() |
將這個節點精簡為更簡單的運算式。 如果 CanReduce 傳回 true,則應該傳回有效的運算式。 這個方法可以傳回其他本身必須精簡的節點。 (繼承來源 Expression) |
ReduceAndCheck() |
將這個節點精簡為更簡單的運算式。 如果 CanReduce 傳回 true,則應該傳回有效的運算式。 這個方法可以傳回其他本身必須精簡的節點。 (繼承來源 Expression) |
ReduceExtensions() |
將運算式精簡為已知的節點類型 (不是 Extension 節點),如果已經是已知的類型,則僅傳回運算式。 (繼承來源 Expression) |
ToString() |
傳回 Expression 的文字表示。 (繼承來源 Expression) |
Update(Expression, LambdaExpression, Expression) |
建立類似這個運算式的新運算式,但使用提供的子系。 如果所有子系都相同,則會傳回這個運算式。 |
VisitChildren(ExpressionVisitor) |
精簡節點,然後呼叫精簡後的運算式上的訪問項委派。 如果節點無法縮減,此方法會擲回例外狀況。 (繼承來源 Expression) |
適用於
意見反應
提交並檢視相關的意見反應