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 temsil eden bir BinaryExpression oluşturur.
Aşırı Yüklemeler
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
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
Ö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ğini eşittir Method olarak ayarlamak için AMethodInfo.
Döndürülenler
BinaryExpression ve , MethodRightve Leftözellikleri belirtilen değerlere ExclusiveOr ayarlanmış özelliğine sahip NodeType bir.
Özel durumlar
left
veya right
şeklindedir null
.
method
değil null
ve temsil ettiği yöntem döndürür 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 left
tanımlanmamıştır. ve right
yazı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, bunlar olur false
. Conversion özelliğidirnull
.
Aşağıdaki bilgiler uygulama yöntemini, 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
method
null
ve iki bağımsız değişken alan voidstatic
olmayan bir yöntemi (Shared
Visual Basic'te) temsil ediyorsa, uygulama yöntemidir.Aksi takdirde, Type veya
right
özelliğileft
işleci aşırı yükleyenXOR
kullanıcı tanımlı bir türü temsil ederse, MethodInfo bu yöntemi temsil eden uygulama yöntemidir.Aksi takdirde, ise
left
. veright
yazın. Tür integral veya Boole türleridir, uygulayan yöntem şeklindedirnull
.
Düğüm Türü ve Yükseltilmiş ve Yükseltilmemiş Karşılaştırması
Uygulayan yöntem değilse null
:
Ise
left
. veright
yazın. Tür, uygulayan yöntemin ilgili 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
. veright
yazın. Tür, en az birinin null atanabilir olduğu ve karşılık gelen boş değer atanamayan türlerin her ikisi de uygulayan yöntemin karşılık gelen bağımsız değişken türlerine eşit olan değer türleridir.Uygulayan yöntemin dönüş türü null atanamaz bir değer türüdür.
Uygulayan yöntem ise null
:
Ise
left
. veright
yazı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
. veright
yazın. Türün her ikisi de null 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
Ö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 ve ve özellikleri belirtilen değerlere ExclusiveOrLeftRight ayarlanmış özelliğine sahip NodeType bir.
Özel durumlar
left
veya right
şeklindedir null
.
XOR
işleci için left
tanımlanmamıştır. ve right
yazı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, bunlar olur false
. Conversion özelliğidirnull
.
Aşağıdaki bilgiler uygulama yöntemini, 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ğileft
işleci aşırı yükleyenXOR
kullanıcı tanımlı bir türü temsil ederse, MethodInfo bu yöntemi temsil eden, uygulayan yöntemdir.Aksi takdirde, ise
left
. veright
yazın. Tür integral veya Boole türleridir, uygulayan yöntem şeklindedirnull
.
Düğüm Türü ve Yükseltilmiş ve Yükseltilmemiş Karşılaştırması
Uygulayan yöntem değilse null
:
Ise
left
. veright
yazın. Tür, uygulayan yöntemin ilgili 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
. veright
yazın. Tür, en az birinin null atanabilir olduğu ve karşılık gelen boş değer atanamayan türlerin her ikisi de uygulayan yöntemin karşılık gelen bağımsız değişken türlerine eşit olan değer türleridir.Uygulayan yöntemin dönüş türü null atanamaz bir değer türüdür.
Uygulayan yöntem ise null
:
Ise
left
. veright
yazı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
. veright
yazın. Türün her ikisi de null 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
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin