Expression.ExclusiveOr Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Bit tabanlı XOR işlemi BinaryExpression temsil eden bir oluşturur.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| ExclusiveOr(Expression, Expression, MethodInfo) |
Kullanıcı tanımlı türler için kullanarak |
| ExclusiveOr(Expression, Expression) |
Kullanıcı tanımlı türler için kullanarak |
ExclusiveOr(Expression, Expression, MethodInfo)
- Kaynak:
- BinaryExpression.cs
- Kaynak:
- BinaryExpression.cs
- Kaynak:
- BinaryExpression.cs
- Kaynak:
- BinaryExpression.cs
- Kaynak:
- BinaryExpression.cs
Kullanıcı tanımlı türler için kullanarak op_ExclusiveOr bit düzeyinde XOR 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
Özelliğinin Left değerine eşit olarak ayarlanması için birExpression.
- right
- Expression
Özelliğinin Right değerine eşit olarak ayarlanması için birExpression.
- 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 ettiği 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
Elde edilen BinaryExpressionMethod ö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 true olur. Aksi takdirde, şu şekildedir false.
Conversion özelliği null.
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.
Uygulama Yöntemi
Aşağıdaki kurallar, işlem için seçilen uygulama yöntemini belirler:
değilse
methodnullve iki bağımsız değişken alan geçersizstaticolmayan (SharedVisual Basic'te) yöntemini temsil ederse, uygulayan yöntemdir.Aksi takdirde, Type veya
rightözelliğileftişleci aşırı yükleyenXORkullanıcı tanımlı bir türü temsil ederse, MethodInfo bu yöntemi temsil eden, uygulayan yöntemdir.Aksi takdirde, ise
left. verightyazın. Tür integral veya Boole türleridir, uygulayan yöntem şeklindedirnull.
Düğüm Türü ve Kaldırılan ile KaldırılmayanLar karşılaştırması
Eğer uygulanan yöntem null değilse:
Eğer
left.Type veright.Type, uygulayıcı yönteminin ilgili bağımsız değişken türlerine atanabiliyorsa, düğüm kaldırılmaz. Düğümün türü, uygulayan metodun dönüş türüdür.Aşağıdaki iki koşul karşılanırsa düğüm kaldırılır ve düğüm türü, uygulayan yöntemin dönüş türüne karşılık gelen null atanabilir türdür:
left. veright. Türlerin her ikisi de en az birinin nullable olduğu değer türleridir ve karşılık gelen non-nullable türler, uygulayan yöntemin karşılık gelen bağımsız değişken türlerine eşittir.Uygulama yönteminin dönüş türü null değeri almaz bir değer türüdür.
Uygulama yöntemi ise null:
Eğer
left.Tür veright.Tür her ikisi de null atanamazsa, düğüm taşınmaz. Düğümün türü, önceden tanımlanmışXORişlecin sonuç türüdür.Eğer
left.Tür veright.Tür her ikisi de null atanabilir ise, düğüm kaldırılır. Düğümün türü, önceden tanımlanmışXORiş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
- Kaynak:
- BinaryExpression.cs
- Kaynak:
- BinaryExpression.cs
Kullanıcı tanımlı türler için kullanarak op_ExclusiveOr bit düzeyinde XOR 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
Özelliğinin Left değerine eşit olarak ayarlanması için birExpression.
- right
- Expression
Özelliğinin Right değerine eşit olarak ayarlanması için birExpression.
Döndürülenler
BinaryExpression özelliğine ExclusiveOrNodeType eşit 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
Elde edilen BinaryExpressionMethod ö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 true olur. Aksi takdirde, şu şekildedir false.
Conversion özelliği null.
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.
Uygulama Yöntemi
Aşağıdaki kurallar, işlem için uygulama yöntemini belirler:
Type veya
rightözelliğileftişleci aşırı yükleyenXORkullanıcı tanımlı bir türü temsil ederse, MethodInfo bu yöntemi temsil eden, uygulayan yöntemdir.Aksi takdirde, ise
left. verightyazın. Tür integral veya Boole türleridir, uygulayan yöntem şeklindedirnull.
Düğüm Türü ve Kaldırılan ile KaldırılmayanLar karşılaştırması
Eğer uygulanan yöntem null değilse:
Eğer
left.Type veright.Type, uygulayıcı yönteminin ilgili bağımsız değişken türlerine atanabiliyorsa, düğüm kaldırılmaz. Düğümün türü, uygulayan metodun dönüş türüdür.Aşağıdaki iki koşul karşılanırsa düğüm kaldırılır ve düğüm türü, uygulayan yöntemin dönüş türüne karşılık gelen null atanabilir türdür:
left. veright. Türlerin her ikisi de en az birinin nullable olduğu değer türleridir ve karşılık gelen non-nullable türler, uygulayan yöntemin karşılık gelen bağımsız değişken türlerine eşittir.Uygulama yönteminin dönüş türü null değeri almaz bir değer türüdür.
Uygulama yöntemi ise null:
Eğer
left.Tür veright.Tür her ikisi de null atanamazsa, düğüm taşınmaz. Düğümün türü, önceden tanımlanmışXORişlecin sonuç türüdür.Eğer
left.Tür veright.Tür her ikisi de null atanabilir ise, düğüm kaldırılır. Düğümün türü, önceden tanımlanmışXORişlecin sonuç türüne karşılık gelen null atanabilir türdür.