Bagikan melalui


Expression.AndAlso Metode

Definisi

BinaryExpression Membuat yang mewakili operasi kondisional AND yang mengevaluasi operand kedua hanya jika operand pertama mengevaluasi ke true.

Overload

Nama Deskripsi
AndAlso(Expression, Expression, MethodInfo)

BinaryExpression Membuat yang mewakili operasi kondisional AND yang mengevaluasi operand kedua hanya jika operand pertama diselesaikan ke true. Metode penerapan dapat ditentukan.

AndAlso(Expression, Expression)

BinaryExpression Membuat yang mewakili operasi kondisional AND yang mengevaluasi operand kedua hanya jika operand pertama mengevaluasi ke true.

AndAlso(Expression, Expression, MethodInfo)

Sumber:
BinaryExpression.cs
Sumber:
BinaryExpression.cs
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 Left properti sama dengan.

right
Expression

A Expression untuk mengatur Right properti sama dengan.

method
MethodInfo

A MethodInfo untuk mengatur Method properti 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 di 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 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

Metode penerapan untuk operasi dipilih berdasarkan aturan berikut:

  • Jika method tidak null 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 atau right mewakili jenis yang ditentukan pengguna yang membebani operator bitwise AND , yang mewakili metode tersebut MethodInfo adalah metode penerapan.

    Nota

    Operator kondisi AND tidak dapat kelebihan beban dalam C# atau Visual Basic. Namun, operator bersyarkat AND dievaluasi dengan menggunakan operator bitwise AND . Dengan demikian, kelebihan operator bitwise AND yang ditentukan pengguna dapat menjadi metode penerapan untuk jenis node ini.

  • Jika tidak, jika left. Ketik dan right. Jenisnya adalah jenis Boolean, metode penerapannya adalah null.

Jenis Node dan Diangkat versus Tidak Diangkat

Jika metode penerapan bukan null:

  • Jika left. Type dan right. 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. Ketik dan right. Jenis keduanya adalah 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 yang diimplementasikan adalah jenis nilai yang tidak dapat bernilai null.

Jika metode penerapan adalah null:

  • left. Ketik dan right. Jenisnya adalah jenis Boolean yang sama.

  • Jika left. Ketik dan right. Jenis tidak dapat diubah ke null, simpul tidak diangkat. Jenis simpul adalah jenis hasil operator bersyariah AND yang telah ditentukan sebelumnya.

  • Jika left. Ketik dan right. Jenis nullable, node diangkat. Jenis simpul adalah jenis nullable yang sesuai dengan jenis hasil operator bersyariah AND yang telah ditentukan sebelumnya.

Berlaku untuk

AndAlso(Expression, Expression)

Sumber:
BinaryExpression.cs
Sumber:
BinaryExpression.cs
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 Left properti sama dengan.

right
Expression

A Expression untuk mengatur Right properti sama dengan.

Mengembalikan

BinaryExpression Yang memiliki NodeType properti 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 operandnya 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 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 left atau right mewakili jenis yang ditentukan pengguna yang membebani operator bitwiseAND, yang mewakili metode tersebut MethodInfo adalah metode penerapan.

    Nota

    Operator kondisi AND tidak dapat kelebihan beban dalam C# atau Visual Basic. Namun, operator bersyarkat AND dievaluasi dengan menggunakan operator bitwise AND . Dengan demikian, kelebihan operator bitwise AND yang ditentukan pengguna dapat menjadi metode penerapan untuk jenis node ini.

  • Jika tidak, jika left. Ketik dan right. Jenisnya adalah jenis Boolean, metode penerapannya adalah null.

Jenis Node dan Diangkat versus Tidak Diangkat

Jika metode penerapan bukan null:

  • Jika left. Type dan right. 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. Ketik dan right. Jenis keduanya adalah 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 yang diimplementasikan adalah jenis nilai yang tidak dapat bernilai null.

Jika metode penerapan adalah null:

  • left. Ketik dan right. Jenisnya adalah jenis Boolean yang sama.

  • Jika left. Ketik dan right. Jenis tidak dapat diubah ke null, simpul tidak diangkat. Jenis simpul adalah jenis hasil operator bersyariah AND yang telah ditentukan sebelumnya.

  • Jika left. Ketik dan right. Jenis nullable, node diangkat. Jenis simpul adalah jenis nullable yang sesuai dengan jenis hasil operator bersyariah AND yang telah ditentukan sebelumnya.

Berlaku untuk