Expression.ExclusiveOr Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Membuat yang BinaryExpression mewakili operasi bitwise XOR .
Overload
| Nama | Deskripsi |
|---|---|
| ExclusiveOr(Expression, Expression, MethodInfo) |
BinaryExpression Membuat yang mewakili operasi bitwise |
| ExclusiveOr(Expression, Expression) |
BinaryExpression Membuat yang mewakili operasi bitwise |
ExclusiveOr(Expression, Expression, MethodInfo)
- Sumber:
- BinaryExpression.cs
- Sumber:
- BinaryExpression.cs
- Sumber:
- BinaryExpression.cs
- Sumber:
- BinaryExpression.cs
- Sumber:
- BinaryExpression.cs
BinaryExpression Membuat yang mewakili operasi bitwiseXOR, menggunakan op_ExclusiveOr untuk jenis yang ditentukan pengguna. Metode penerapan dapat ditentukan.
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
Parameter
- left
- Expression
Untuk Expression mengatur properti sama Left dengan.
- right
- Expression
Untuk Expression mengatur properti sama Right dengan.
- method
- MethodInfo
A MethodInfo untuk mengatur Method properti sama dengan.
Mengembalikan
BinaryExpression yang memiliki NodeType properti yang sama dengan ExclusiveOr dan Leftproperti , , Rightdan Method diatur ke nilai yang ditentukan.
Pengecualian
left atau right adalah null.
method bukan null dan metode yang diwakilinya mengembalikan void, bukan static (Shared di Visual Basic), atau tidak mengambil dua argumen persis.
method adalah null dan XOR operator tidak didefinisikan untuk left. Ketik dan right. Jenis.
Keterangan
Yang dihasilkan BinaryExpression memiliki properti yang Method diatur ke metode penerapan. Properti Type diatur ke jenis simpul. Jika node diangkat, properti IsLifted dan IsLiftedToNull keduanya true. Jika tidak, mereka adalah false. Properti Conversion adalah null.
Informasi berikut menjelaskan metode penerapan, jenis node, dan apakah node diangkat.
Metode Penerapan
Aturan berikut menentukan metode penerapan yang dipilih untuk operasi:
Jika
methodtidaknulldan mewakili metode non-void,static(Shareddalam Visual Basic) yang mengambil dua argumen, itu adalah metode penerapan.Jika tidak, jika Type properti dari salah satu
leftataurightmewakili jenis yang ditentukan pengguna yang membebaniXORoperator, MethodInfo yang mewakili metode tersebut adalah metode penerapan.Jika tidak, jika
left. Ketik danright. Jenisnya adalah jenis integral atau Boolean, metode penerapannya adalahnull.
Jenis Node dan Diangkat versus Tidak Diangkat
Jika metode penerapan bukan null:
Jika
left. Type danright. Type dapat ditetapkan ke jenis argumen yang sesuai dari metode yang menerapkan, node tidak diangkat. Jenis simpul adalah jenis pengembalian dari metode penerapan.Jika dua kondisi berikut terpenuhi, simpul diangkat dan tipe simpul adalah tipe nullable yang sesuai dengan tipe pengembalian dari metode yang menerapkannya:
left.Tipe danright.Tipe keduanya adalah tipe nilai yang setidaknya satu bersifat nullable dan tipe non-nullable yang sesuai sama dengan tipe argumen yang sesuai dari metode yang diimplementasikan.Jenis pengembalian metode yang diimplementasikan adalah jenis nilai yang tidak dapat bernilai null.
Jika metode penerapan adalah null:
Jika
left.Tipe danright.Tipe keduanya tidak dapat bernilai null, node tidak diangkat. Jenis simpul adalah jenis hasil operator yang telahXORditentukan sebelumnya.Jika
left.Tipe danright.Tipe keduanya bisa bernilai null, simpul diangkat. Jenis node adalah jenis nullable yang sesuai dengan jenis hasil operator yang telahXORditentukan sebelumnya.
Berlaku untuk
ExclusiveOr(Expression, Expression)
- Sumber:
- BinaryExpression.cs
- Sumber:
- BinaryExpression.cs
- Sumber:
- BinaryExpression.cs
- Sumber:
- BinaryExpression.cs
- Sumber:
- BinaryExpression.cs
BinaryExpression Membuat yang mewakili operasi bitwiseXOR, menggunakan op_ExclusiveOr untuk jenis yang ditentukan pengguna.
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
Parameter
- left
- Expression
Untuk Expression mengatur properti sama Left dengan.
- right
- Expression
Untuk Expression mengatur properti sama Right dengan.
Mengembalikan
BinaryExpression Yang memiliki NodeType properti sama dengan ExclusiveOr dan Left properti dan Right diatur ke nilai yang ditentukan.
Pengecualian
left atau right adalah null.
Operator XOR tidak didefinisikan untuk left. Ketik dan right. Jenis.
Contoh
Contoh kode berikut menunjukkan cara membuat ekspresi yang mewakili operasi XOR logis.
// 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
Keterangan
Yang dihasilkan BinaryExpression memiliki properti yang Method diatur ke metode penerapan. Properti Type diatur ke jenis simpul. Jika node diangkat, properti IsLifted dan IsLiftedToNull keduanya true. Jika tidak, mereka adalah false. Properti Conversion adalah null.
Informasi berikut menjelaskan metode penerapan, jenis node, dan apakah node diangkat.
Metode Penerapan
Aturan berikut menentukan metode penerapan untuk operasi:
Type Jika properti dari salah satu
leftataurightmewakili jenis yang ditentukan pengguna yang membebaniXORoperator, yang mewakili metode tersebut MethodInfo adalah metode penerapan.Jika tidak, jika
left. Ketik danright. Jenisnya adalah jenis integral atau Boolean, metode penerapannya adalahnull.
Jenis Node dan Diangkat versus Tidak Diangkat
Jika metode penerapan bukan null:
Jika
left. Type danright. Type dapat ditetapkan ke jenis argumen yang sesuai dari metode yang menerapkan, node tidak diangkat. Jenis simpul adalah jenis pengembalian dari metode penerapan.Jika dua kondisi berikut terpenuhi, simpul diangkat dan tipe simpul adalah tipe nullable yang sesuai dengan tipe pengembalian dari metode yang menerapkannya:
left.Tipe danright.Tipe keduanya adalah tipe nilai yang setidaknya satu bersifat nullable dan tipe non-nullable yang sesuai sama dengan tipe argumen yang sesuai dari metode yang diimplementasikan.Jenis pengembalian metode yang diimplementasikan adalah jenis nilai yang tidak dapat bernilai null.
Jika metode penerapan adalah null:
Jika
left.Tipe danright.Tipe keduanya tidak dapat bernilai null, node tidak diangkat. Jenis simpul adalah jenis hasil operator yang telahXORditentukan sebelumnya.Jika
left.Tipe danright.Tipe keduanya bisa bernilai null, simpul diangkat. Jenis node adalah jenis nullable yang sesuai dengan jenis hasil operator yang telahXORditentukan sebelumnya.