Aracılığıyla paylaş


Expression.ExclusiveOr Yöntem

Tanım

Bit tabanlı XOR işlemi temsil eden bir BinaryExpression oluşturur.

Aşırı Yüklemeler

ExclusiveOr(Expression, Expression, MethodInfo)

Kullanıcı tanımlı türler için kullanarak op_ExclusiveOr bit düzeyinde XOR bir işlemi temsil eden bir BinaryExpression oluşturur. Uygulayan yöntem belirtilebilir.

ExclusiveOr(Expression, Expression)

Kullanıcı tanımlı türler için kullanarak op_ExclusiveOr bit düzeyinde XOR bir işlemi temsil eden bir BinaryExpression oluşturur.

ExclusiveOr(Expression, Expression, MethodInfo)

Kaynak:
BinaryExpression.cs
Kaynak:
BinaryExpression.cs
Kaynak:
BinaryExpression.cs

Kullanıcı tanımlı türler için kullanarak op_ExclusiveOr bit düzeyinde XOR bir işlemi temsil eden bir BinaryExpression oluşturur. Uygulayan yöntem belirtilebilir.

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

Parametreler

left
Expression

Expression özelliğinin Left değerine eşit olarak ayarlanması için.

right
Expression

Expression özelliğinin Right değerine eşit olarak ayarlanması için.

method
MethodInfo

Özelliğinin Method değerine eşit olarak ayarlanması için AMethodInfo.

Döndürülenler

BinaryExpression özelliğine ExclusiveOrNodeType eşit olan ve Left, Rightve Method özellikleri belirtilen değerlere ayarlanmış.

Özel durumlar

left veya right şeklindedir null.

method değil null ve temsil eden yöntem döndürüyor void, değil static (Shared Visual Basic'te) veya tam olarak iki bağımsız değişken almaz.

method is null ve XOR işleci için lefttanımlanmamıştır. ve rightyazın. Türü.

Açıklamalar

BinaryExpressionMethod Sonuçta özelliği, uygulayan yönteme ayarlanmıştır. Type özelliği düğümün türüne ayarlanır. Düğüm kaldırılırsa IsLifted ve IsLiftedToNull özellikleri her ikisi de trueolur. Aksi takdirde, bunlar şeklindedir false. Conversion özelliğidirnull.

Aşağıdaki bilgiler uygulayan yöntemi, düğüm türünü ve bir düğümün kaldırılıp kaldırılmadığını açıklar.

Yöntem Uygulama

Aşağıdaki kurallar, işlem için seçilen uygulama yöntemini belirler:

  • değilse methodnull ve iki bağımsız değişken alan void static olmayan bir yöntemi (Shared Visual Basic'te) temsil ederse, uygulayan yöntemdir.

  • Aksi takdirde, Type veya right özelliği left işleci aşırı yükleyen XOR kullanıcı tanımlı bir türü temsil ederse, MethodInfo bu yöntemi temsil eden uygulayan yöntemdir.

  • Aksi takdirde, ise left. ve rightyazın. Tür integral veya Boole türleridir, uygulayan yöntem şeklindedir null.

Düğüm Türü ve Yükseltilmiş ve Yükseltilmemiş Karşılaştırması

Uygulayan yöntem değilse null:

  • ise left. ve rightyazın. Tür, uygulayan yöntemin karşılık gelen bağımsız değişken türlerine atanabilir, düğüm kaldırılmaz. Düğümün türü, uygulayan yöntemin dönüş türüdür.

  • Aşağıdaki iki koşul karşılanırsa düğüm kaldırılır ve düğümün türü, uygulayan yöntemin dönüş türüne karşılık gelen null atanabilir türdür:

    • left. ve rightyazın. Türün her ikisi de en az birinin null atanabilir olduğu değer türleridir ve karşılık gelen null atanamaz türler, uygulayan yöntemin karşılık gelen bağımsız değişken türlerine eşittir.

    • Uygulayan yöntemin dönüş türü null atanamayan bir değer türüdür.

Uygulayan yöntem ise null:

  • ise left. ve rightyazın. Türün her ikisi de null atanamaz, düğüm kaldırılmaz. Düğümün türü, önceden tanımlanmış XOR işlecin sonuç türüdür.

  • ise left. ve rightyazın. Türün ikisi de boş değer atanabilir, düğüm kaldırılır. Düğümün türü, önceden tanımlanmış XOR işlecin sonuç türüne karşılık gelen null atanabilir türdür.

Şunlara uygulanır

ExclusiveOr(Expression, Expression)

Kaynak:
BinaryExpression.cs
Kaynak:
BinaryExpression.cs
Kaynak:
BinaryExpression.cs

Kullanıcı tanımlı türler için kullanarak op_ExclusiveOr bit düzeyinde XOR bir işlemi temsil eden bir BinaryExpression oluşturur.

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

Parametreler

left
Expression

Expression özelliğinin Left değerine eşit olarak ayarlanması için.

right
Expression

Expression özelliğinin Right değerine eşit olarak ayarlanması için.

Döndürülenler

BinaryExpression özelliğine ExclusiveOrNodeType eşit olan ve ve RightLeft özellikleri belirtilen değerlere ayarlanmış bir.

Özel durumlar

left veya right şeklindedir null.

XOR işleci için lefttanımlanmamıştır. ve rightyazın. Türü.

Örnekler

Aşağıdaki kod örneği, mantıksal XOR işlemini temsil eden bir ifadenin nasıl oluşturulacağını gösterir.

// 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

Açıklamalar

BinaryExpressionMethod Sonuçta özelliği, uygulayan yönteme ayarlanmıştır. Type özelliği düğümün türüne ayarlanır. Düğüm kaldırılırsa IsLifted ve IsLiftedToNull özellikleri her ikisi de trueolur. Aksi takdirde, bunlar şeklindedir false. Conversion özelliğidirnull.

Aşağıdaki bilgiler uygulayan yöntemi, düğüm türünü ve bir düğümün kaldırılıp kaldırılmadığını açıklar.

Yöntem Uygulama

Aşağıdaki kurallar, işlem için uygulama yöntemini belirler:

  • Type veya right özelliği left işleci aşırı yükleyen XOR kullanıcı tanımlı bir türü temsil ederse, MethodInfo bu yöntemi temsil eden uygulayan yöntemdir.

  • Aksi takdirde, ise left. ve rightyazın. Tür integral veya Boole türleridir, uygulayan yöntem şeklindedir null.

Düğüm Türü ve Yükseltilmiş ve Yükseltilmemiş Karşılaştırması

Uygulayan yöntem değilse null:

  • ise left. ve rightyazın. Tür, uygulayan yöntemin karşılık gelen bağımsız değişken türlerine atanabilir, düğüm kaldırılmaz. Düğümün türü, uygulayan yöntemin dönüş türüdür.

  • Aşağıdaki iki koşul karşılanırsa düğüm kaldırılır ve düğümün türü, uygulayan yöntemin dönüş türüne karşılık gelen null atanabilir türdür:

    • left. ve rightyazın. Türün her ikisi de en az birinin null atanabilir olduğu değer türleridir ve karşılık gelen null atanamaz türler, uygulayan yöntemin karşılık gelen bağımsız değişken türlerine eşittir.

    • Uygulayan yöntemin dönüş türü null atanamayan bir değer türüdür.

Uygulayan yöntem ise null:

  • ise left. ve rightyazın. Türün her ikisi de null atanamaz, düğüm kaldırılmaz. Düğümün türü, önceden tanımlanmış XOR işlecin sonuç türüdür.

  • ise left. ve rightyazın. Türün ikisi de boş değer atanabilir, düğüm kaldırılır. Düğümün türü, önceden tanımlanmış XOR işlecin sonuç türüne karşılık gelen null atanabilir türdür.

Şunlara uygulanır