Expression.AndAlso 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.
BinaryExpression Membuat yang mewakili operasi kondisional AND
yang mengevaluasi operand kedua hanya jika operand pertama mengevaluasi ke true
.
Overload
AndAlso(Expression, Expression, MethodInfo) |
BinaryExpression Membuat yang mewakili operasi kondisional |
AndAlso(Expression, Expression) |
BinaryExpression Membuat yang mewakili operasi kondisional |
AndAlso(Expression, Expression, MethodInfo)
- Sumber:
- BinaryExpression.cs
- Sumber:
- BinaryExpression.cs
- Sumber:
- BinaryExpression.cs
BinaryExpression Membuat yang mewakili operasi kondisional AND
yang mengevaluasi operand kedua hanya jika operand pertama diselesaikan ke true. Metode penerapan dapat ditentukan.
public:
static System::Linq::Expressions::BinaryExpression ^ AndAlso(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression AndAlso (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression AndAlso (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo? method);
static member AndAlso : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function AndAlso (left As Expression, right As Expression, method As MethodInfo) As BinaryExpression
Parameter
- left
- Expression
A Expression untuk mengatur properti yang Left sama dengan.
- right
- Expression
A Expression untuk mengatur properti yang Right sama dengan.
- method
- MethodInfo
A MethodInfo untuk mengatur properti yang Method sama dengan.
Mengembalikan
BinaryExpression yang memiliki NodeType properti yang sama dengan AndAlso 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
dalam Visual Basic), atau tidak mengambil dua argumen persis.
method
adalah null
dan operator bitwise AND
tidak didefinisikan untuk left
. Ketik dan right
. Jenis.
-atau-
method
adalah null
dan left
. Ketik dan right
. Jenis bukan tipe Boolean yang sama.
Keterangan
Yang dihasilkan BinaryExpression memiliki properti yang Method diatur ke metode penerapan. Properti Type diatur ke jenis simpul. Jika simpul diangkat, IsLifted properti dan IsLiftedToNull keduanya true
. Jika tidak, mereka adalah false
. Properti Conversion adalah null
.
Informasi berikut menjelaskan metode penerapan, jenis node, dan apakah simpul diangkat.
Metode Penerapan
Metode penerapan untuk operasi dipilih berdasarkan aturan berikut:
Jika
method
tidaknull
dan mewakili metode non-void,static
(Shared
dalam Visual Basic) yang mengambil dua argumen, itu adalah metode penerapan untuk simpul.Jika tidak, jika Type properti dari salah satu
left
atauright
mewakili jenis yang ditentukan pengguna yang membebani operator bitwiseAND
, MethodInfo yang mewakili metode tersebut adalah metode penerapan.Catatan
Operator kondisi
AND
tidak dapat kelebihan beban dalam C# atau Visual Basic. Namun, operator bersyarahAND
dievaluasi dengan menggunakan operator bitwiseAND
. Dengan demikian, kelebihan beban yang ditentukan pengguna dari operator bitwiseAND
dapat menjadi metode penerapan untuk jenis node ini.Jika tidak, jika
left
. Ketik danright
. Jenisnya adalah jenis Boolean, metode penerapannya adalahnull
.
Jenis Node dan Diangkat versus Tidak Diangkat
Jika metode penerapan bukan null
:
Jika
left
. Ketik danright
. Jenis dapat ditetapkan ke jenis argumen yang sesuai dari metode penerapan, simpul tidak diangkat. Jenis node adalah jenis pengembalian dari metode penerapan.Jika dua kondisi berikut terpenuhi, simpul diangkat dan jenis node adalah jenis nullable yang sesuai dengan jenis pengembalian metode penerapan:
left
. Ketik danright
. Jenis adalah kedua jenis nilai yang setidaknya satu dapat diubah ke null, dan jenis yang tidak dapat diubah ke null yang sesuai sama dengan jenis argumen yang sesuai dari metode penerapan.Jenis pengembalian metode penerapan adalah jenis nilai yang tidak dapat diubah ke null.
Jika metode penerapan adalah null
:
left
. Ketik danright
. Jenis adalah jenis Boolean yang sama.Jika
left
. Ketik danright
. Tipe tidak dapat diubah ke null, simpul tidak diangkat. Jenis simpul adalah jenis hasil dari operator bersyariahAND
yang telah ditentukan sebelumnya.Jika
left
. Ketik danright
. Jenis dapat diubah ke null, simpul diangkat. Jenis node adalah jenis nullable yang sesuai dengan jenis hasil operator kondisiAND
yang telah ditentukan sebelumnya.
Berlaku untuk
AndAlso(Expression, Expression)
- Sumber:
- BinaryExpression.cs
- Sumber:
- BinaryExpression.cs
- Sumber:
- BinaryExpression.cs
BinaryExpression Membuat yang mewakili operasi kondisional AND
yang mengevaluasi operand kedua hanya jika operand pertama mengevaluasi ke true
.
public:
static System::Linq::Expressions::BinaryExpression ^ AndAlso(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression AndAlso (System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member AndAlso : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function AndAlso (left As Expression, right As Expression) As BinaryExpression
Parameter
- left
- Expression
A Expression untuk mengatur properti yang Left sama dengan.
- right
- Expression
A Expression untuk mengatur properti yang Right sama dengan.
Mengembalikan
BinaryExpression yang memiliki NodeType properti yang sama dengan AndAlso dan Left properti dan Right diatur ke nilai yang ditentukan.
Pengecualian
left
atau right
adalah null
.
Operator bitwise AND
tidak didefinisikan untuk left
. Ketik dan right
. Jenis.
-atau-
left
. Ketik dan right
. Jenis bukan tipe Boolean yang sama.
Contoh
Contoh kode berikut menunjukkan cara membuat ekspresi yang melakukan operasi AND logis pada dua operannya hanya jika operand pertama mengevaluasi ke true
.
// Add the following directive to your file:
// using System.Linq.Expressions;
// This expression perfroms a logical AND operation
// on its two arguments, but if the first argument is false,
// then the second arument is not evaluated.
// Both arguments must be of the boolean type.
Expression andAlsoExpr = Expression.AndAlso(
Expression.Constant(false),
Expression.Constant(true)
);
// Print out the expression.
Console.WriteLine(andAlsoExpr.ToString());
// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda<Func<bool>>(andAlsoExpr).Compile()());
// This code example produces the following output:
//
// (False AndAlso True)
// False
' Add the following directive to your file:
' Imports System.Linq.Expressions
' This expression performs a logical AND operation
' on its two arguments, but if the first argument is false,
' the second argument is not evaluated.
' Both arguments must be of the Boolean type.
Dim andAlsoExpr As Expression = Expression.AndAlso(
Expression.Constant(False),
Expression.Constant(True)
)
' Print the expression.
Console.WriteLine(andAlsoExpr.ToString())
' The following statement first creates an expression tree,
' then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda(Of Func(Of Boolean))(andAlsoExpr).Compile()())
' This code example produces the following output:
'
' (False AndAlso True)
' False
Keterangan
Yang dihasilkan BinaryExpression memiliki properti yang Method diatur ke metode penerapan. Properti Type diatur ke jenis simpul. Jika simpul diangkat, IsLifted properti dan IsLiftedToNull keduanya true
. Jika tidak, mereka adalah false
. Properti Conversion adalah null
.
Informasi berikut menjelaskan metode penerapan, jenis node, dan apakah simpul diangkat.
Metode Penerapan
Aturan berikut menentukan metode penerapan untuk operasi:
Type Jika properti dari salah satu
left
atauright
mewakili jenis yang ditentukan pengguna yang membebani operator bitwiseAND
, MethodInfo yang mewakili metode tersebut adalah metode penerapan.Catatan
Operator kondisi
AND
tidak dapat kelebihan beban dalam C# atau Visual Basic. Namun, operator bersyarahAND
dievaluasi dengan menggunakan operator bitwiseAND
. Dengan demikian, kelebihan beban yang ditentukan pengguna dari operator bitwiseAND
dapat menjadi metode penerapan untuk jenis node ini.Jika tidak, jika
left
. Ketik danright
. Jenisnya adalah jenis Boolean, metode penerapannya adalahnull
.
Jenis Node dan Diangkat versus Tidak Diangkat
Jika metode penerapan bukan null
:
Jika
left
. Ketik danright
. Jenis dapat ditetapkan ke jenis argumen yang sesuai dari metode penerapan, simpul tidak diangkat. Jenis node adalah jenis pengembalian dari metode penerapan.Jika dua kondisi berikut terpenuhi, simpul diangkat dan jenis node adalah jenis nullable yang sesuai dengan jenis pengembalian metode penerapan:
left
. Ketik danright
. Jenis adalah kedua jenis nilai yang setidaknya satu dapat diubah ke null, dan jenis yang tidak dapat diubah ke null yang sesuai sama dengan jenis argumen yang sesuai dari metode penerapan.Jenis pengembalian metode penerapan adalah jenis nilai yang tidak dapat diubah ke null.
Jika metode penerapan adalah null
:
left
. Ketik danright
. Jenis adalah jenis Boolean yang sama.Jika
left
. Ketik danright
. Tipe tidak dapat diubah ke null, simpul tidak diangkat. Jenis simpul adalah jenis hasil dari operator bersyariahAND
yang telah ditentukan sebelumnya.Jika
left
. Ketik danright
. Jenis dapat diubah ke null, simpul diangkat. Jenis node adalah jenis nullable yang sesuai dengan jenis hasil operator kondisiAND
yang telah ditentukan sebelumnya.