Expression.ExclusiveOr Metoda

Definicja

Tworzy element reprezentujący operację BinaryExpression bitową XOR .

Przeciążenia

ExclusiveOr(Expression, Expression, MethodInfo)

Tworzy element, który reprezentuje operację BinaryExpression bitową XOR przy użyciu op_ExclusiveOr typów zdefiniowanych przez użytkownika. Można określić metodę implementowania.

ExclusiveOr(Expression, Expression)

Tworzy element, który reprezentuje operację BinaryExpression bitową XOR przy użyciu op_ExclusiveOr typów zdefiniowanych przez użytkownika.

ExclusiveOr(Expression, Expression, MethodInfo)

Źródło:
BinaryExpression.cs
Źródło:
BinaryExpression.cs
Źródło:
BinaryExpression.cs

Tworzy element, który reprezentuje operację BinaryExpression bitową XOR przy użyciu op_ExclusiveOr typów zdefiniowanych przez użytkownika. Można określić metodę implementowania.

public:
 static System::Linq::Expressions::BinaryExpression ^ ExclusiveOr(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression ExclusiveOr (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression ExclusiveOr (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo? method);
static member ExclusiveOr : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function ExclusiveOr (left As Expression, right As Expression, method As MethodInfo) As BinaryExpression

Parametry

left
Expression

Element , Expression aby ustawić właściwość równą Left .

right
Expression

Element , Expression aby ustawić właściwość równą Right .

method
MethodInfo

A MethodInfo , aby ustawić właściwość równą Method .

Zwraca

WłaściwośćBinaryExpression, która ma właściwość równą ExclusiveOrNodeType wartościom , i LeftRight, i Method ustawioną na określone wartości.

Wyjątki

left lub right to null.

method nie null jest i metoda, która reprezentuje zwraca voidwartość , nie static jest (Shared w Visual Basic) lub nie bierze dokładnie dwóch argumentów.

method jest null i XOR operator nie jest zdefiniowany dla leftelementu . Wpisz i right. Typu.

Uwagi

BinaryExpression Wynik ma właściwość ustawioną Method na metodę implementowania. Właściwość Type jest ustawiona na typ węzła. Jeśli węzeł zostanie zniesiony, IsLifted właściwości i IsLiftedToNull są oba true. W przeciwnym razie są to false. Właściwość Conversion to null.

Poniższe informacje opisują metodę implementowania, typ węzła i to, czy węzeł został zniesiony.

Metoda implementująca

Następujące reguły określają wybraną metodę implementowania dla operacji:

  • Jeśli method nie null jest i reprezentuje metodę niepustą ( staticShared w Visual Basic), która przyjmuje dwa argumenty, jest to metoda implementowania.

  • W przeciwnym razie, jeśli Type właściwość lub leftright reprezentuje typ zdefiniowany przez użytkownika, który przeciąża XOR operatora, oznacza to, MethodInfo że metoda jest metodą implementowania.

  • W przeciwnym razie, jeśli left. Wpisz i right. Typ to typy całkowite lub logiczne, metoda implementowania to null.

Typ węzła oraz węzły podniesione i niepodniesione

Jeśli metoda implementowania nie nulljest :

  • Jeśli left. Wpisz i right. Typ można przypisać do odpowiednich typów argumentów metody implementowania, węzeł nie jest zniesiony. Typ węzła to zwracany typ metody implementowania.

  • Jeśli spełnione są następujące dwa warunki, węzeł zostanie zniesiony, a typ węzła to typ dopuszczający wartość null odpowiadający typowi zwracanej metody implementowania:

    • left. Wpisz i right. Typ to oba typy wartości, z których co najmniej jeden ma wartość null, a odpowiadające im typy niepuste są równe odpowiadającym typom argumentów metody implementowania.

    • Zwracany typ metody implementowania jest typem wartości bez wartości null.

Jeśli metoda implementowania to null:

  • Jeśli left. Wpisz i right. Typ jest niezwiązany z wartością null, węzeł nie jest zniesiony. Typ węzła to typ wyniku wstępnie zdefiniowanego XOR operatora.

  • Jeśli left. Wpisz i right. Typ jest możliwy zarówno do wartości null, jak i węzeł zostanie zniesiony. Typ węzła to typ dopuszczający wartość null odpowiadający typowi wyniku wstępnie zdefiniowanego XOR operatora.

Dotyczy

ExclusiveOr(Expression, Expression)

Źródło:
BinaryExpression.cs
Źródło:
BinaryExpression.cs
Źródło:
BinaryExpression.cs

Tworzy element, który reprezentuje operację BinaryExpression bitową XOR przy użyciu op_ExclusiveOr typów zdefiniowanych przez użytkownika.

public:
 static System::Linq::Expressions::BinaryExpression ^ ExclusiveOr(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression ExclusiveOr (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member ExclusiveOr : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function ExclusiveOr (left As Expression, right As Expression) As BinaryExpression

Parametry

left
Expression

Element , Expression aby ustawić właściwość równą Left .

right
Expression

Element , Expression aby ustawić właściwość równą Right .

Zwraca

WłaściwośćBinaryExpression, która ma właściwość równą ExclusiveOrNodeType i Left właściwości i Right ustawioną na określone wartości.

Wyjątki

left lub right to null.

Operator XOR nie jest zdefiniowany dla leftelementu . Wpisz i right. Typu.

Przykłady

Poniższy przykład kodu przedstawia sposób tworzenia wyrażenia reprezentującego logiczną operację XOR.

// Add the following directive to your file:
// using System.Linq.Expressions;

// This expression represents an exclusive OR operation for its two arguments.
// Both arguments must be of the same type,
// which can be either integer or boolean.

Expression exclusiveOrExpr = Expression.ExclusiveOr(
    Expression.Constant(5),
    Expression.Constant(3)
);

// Print out the expression.
Console.WriteLine(exclusiveOrExpr.ToString());

// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(
    Expression.Lambda<Func<int>>(exclusiveOrExpr).Compile()());

// The XOR operation is performed as follows:
// 101 xor 011 = 110

// This code example produces the following output:
//
// (5 ^ 3)
// 6
' Add the following directive to your file:
' Imports System.Linq.Expressions   

' This expression represents an exclusive OR operation for its two arguments.
' Both arguments must be of the same type, 
' which can be either integer or Boolean.

Dim exclusiveOrExpr As Expression = Expression.ExclusiveOr(
     Expression.Constant(5),
     Expression.Constant(3)
 )

' Print the expression.
Console.WriteLine(exclusiveOrExpr.ToString())

' The following statement first creates an expression tree,
' then compiles it, and then executes it.           
Console.WriteLine(
    Expression.Lambda(Of Func(Of Integer))(exclusiveOrExpr).Compile()())

' The XOR operation is performed as follows:
' 101 xor 011 = 110

' This code example produces the following output:
'
' (5 ^ 3)
' 6

Uwagi

BinaryExpression Wynik ma właściwość ustawioną Method na metodę implementowania. Właściwość Type jest ustawiona na typ węzła. Jeśli węzeł zostanie zniesiony, IsLifted właściwości i IsLiftedToNull są oba true. W przeciwnym razie są to false. Właściwość Conversion to null.

Poniższe informacje opisują metodę implementowania, typ węzła i to, czy węzeł został zniesiony.

Metoda implementująca

Następujące reguły określają metodę implementowania operacji:

  • Type Jeśli właściwość lub rightleft reprezentuje typ zdefiniowany przez użytkownika, który przeciąża XOR operatora, MethodInfo oznacza to, że metoda jest metodą implementowania.

  • W przeciwnym razie, jeśli left. Wpisz i right. Typ to typy całkowite lub logiczne, metoda implementowania to null.

Typ węzła oraz węzły podniesione i niepodniesione

Jeśli metoda implementowania nie nulljest :

  • Jeśli left. Wpisz i right. Typ można przypisać do odpowiednich typów argumentów metody implementowania, węzeł nie jest zniesiony. Typ węzła to zwracany typ metody implementowania.

  • Jeśli spełnione są następujące dwa warunki, węzeł zostanie zniesiony, a typ węzła to typ dopuszczający wartość null odpowiadający typowi zwracanej metody implementowania:

    • left. Wpisz i right. Typ to oba typy wartości, z których co najmniej jeden ma wartość null, a odpowiadające im typy niepuste są równe odpowiadającym typom argumentów metody implementowania.

    • Zwracany typ metody implementowania jest typem wartości bez wartości null.

Jeśli metoda implementowania to null:

  • Jeśli left. Wpisz i right. Typ jest niezwiązany z wartością null, węzeł nie jest zniesiony. Typ węzła to typ wyniku wstępnie zdefiniowanego XOR operatora.

  • Jeśli left. Wpisz i right. Typ jest możliwy zarówno do wartości null, jak i węzeł zostanie zniesiony. Typ węzła to typ dopuszczający wartość null odpowiadający typowi wyniku wstępnie zdefiniowanego XOR operatora.

Dotyczy