Aracılığıyla paylaş


Expression.AndAlso Yöntem

Tanım

İkinci işleneni yalnızca ilk işlenen olarak değerlendiriyorsa değerlendiren truebir koşullu AND işlemi temsil eden bir BinaryExpression oluşturur.

Aşırı Yüklemeler

Name Description
AndAlso(Expression, Expression, MethodInfo)

yalnızca ilk işlenen true olarak çözümlendiğinde ikinci işleneni değerlendiren bir koşullu AND işlemi temsil eden bir BinaryExpression oluşturur. Uygulayan yöntem belirtilebilir.

AndAlso(Expression, Expression)

İkinci işleneni yalnızca ilk işlenen olarak değerlendiriyorsa değerlendiren truebir koşullu AND işlemi temsil eden bir BinaryExpression oluşturur.

AndAlso(Expression, Expression, MethodInfo)

Kaynak:
BinaryExpression.cs
Kaynak:
BinaryExpression.cs
Kaynak:
BinaryExpression.cs
Kaynak:
BinaryExpression.cs
Kaynak:
BinaryExpression.cs

yalnızca ilk işlenen true olarak çözümlendiğinde ikinci işleneni değerlendiren bir koşullu AND işlemi temsil eden bir BinaryExpression oluşturur. Uygulayan yöntem belirtilebilir.

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

Parametreler

left
Expression

Özelliğinin Left değerine eşit olarak ayarlanması için AExpression.

right
Expression

Özelliğinin Right değerine eşit olarak ayarlanması için AExpression.

method
MethodInfo

Özelliğinin Method değerine eşit olarak ayarlanması için AMethodInfo.

Döndürülenler

BinaryExpression özelliğine AndAlsoNodeType 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 bit düzeyinde AND işleç için lefttanımlanmamıştır. ve rightyazın. Türü.

-veya-

methodve leftşeklindedirnull. ve rightyazın. Tür aynı Boole türü değildir.

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

İşlem için uygulama yöntemi aşağıdaki kurallara göre seçilir:

  • değilse methodnull ve iki bağımsız değişken alan geçersiz static olmayan (Shared Visual Basic'te) yöntemini temsil ederse, düğüm için uygulayan yöntemdir.

  • Aksi takdirde, Type ya da leftright özelliği bit düzeyinde AND işleci aşırı yükleyen kullanıcı tanımlı bir türü temsil ederse, MethodInfo bu yöntemi temsil eden yöntem uygulayan yöntemdir.

    Uyarı

    Koşullu AND işleç C# veya Visual Basic'te aşırı yüklenemez. Ancak, koşullu AND işleç bit düzeyinde AND işleci kullanılarak değerlendirilir. Bu nedenle, bit düzeyinde AND işlecin kullanıcı tanımlı aşırı yüklemesi bu düğüm türü için uygulayan yöntem olabilir.

  • Aksi takdirde, ise left. ve rightyazın. Tür Boole türleri, uygulayan yöntem ise şeklindedir null.

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 ve right.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. ve rightyazın. Türün her ikisi de en az birinin null atanabilir olduğu değer türleridir ve karşılık gelen null atanamaz 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:

  • left. ve rightyazın. Tür aynı Boole türündedir.

  • Ise left. ve rightyazın. Tür null atanamaz, düğüm kaldırılmaz. Düğümün türü, önceden tanımlanmış koşullu AND işlecin sonuç türüdür.

  • Ise left. ve rightyazın. Tür null atanabilir, düğüm kaldırılır. Düğümün türü, önceden tanımlanmış koşullu AND işlecin sonuç türüne karşılık gelen null atanabilir türdür.

Şunlara uygulanır

AndAlso(Expression, Expression)

Kaynak:
BinaryExpression.cs
Kaynak:
BinaryExpression.cs
Kaynak:
BinaryExpression.cs
Kaynak:
BinaryExpression.cs
Kaynak:
BinaryExpression.cs

İkinci işleneni yalnızca ilk işlenen olarak değerlendiriyorsa değerlendiren truebir koşullu AND işlemi temsil eden bir BinaryExpression oluşturur.

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

Parametreler

left
Expression

Özelliğinin Left değerine eşit olarak ayarlanması için AExpression.

right
Expression

Özelliğinin Right değerine eşit olarak ayarlanması için AExpression.

Döndürülenler

BinaryExpression özelliğine AndAlsoNodeType eşit ve ve RightLeft özellikleri belirtilen değerlere ayarlanmış bir.

Özel durumlar

left veya right şeklindedir null.

bit düzeyinde AND işleç için lefttanımlanmamıştır. ve rightyazın. Türü.

-veya-

left. ve rightyazın. Tür aynı Boole türü değildir.

Örnekler

Aşağıdaki kod örneği, yalnızca ilk işlenen olarak değerlendirilirse iki işlenen üzerinde mantıksal AND işlemi gerçekleştiren bir ifadenin nasıl oluşturulacağını truegösterir.

// 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

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ği left bit düzeyinde AND işleci aşırı yükleyen kullanıcı tanımlı bir türü temsil ederse, MethodInfo bu yöntemi temsil eden, uygulayan yöntemdir.

    Uyarı

    Koşullu AND işleç C# veya Visual Basic'te aşırı yüklenemez. Ancak, koşullu AND işleç bit düzeyinde AND işleci kullanılarak değerlendirilir. Bu nedenle, bit düzeyinde AND işlecin kullanıcı tanımlı aşırı yüklemesi bu düğüm türü için uygulayan yöntem olabilir.

  • Aksi takdirde, ise left. ve rightyazın. Tür Boole türleri, uygulayan yöntem ise şeklindedir null.

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 ve right.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. ve rightyazın. Türün her ikisi de en az birinin null atanabilir olduğu değer türleridir ve karşılık gelen null atanamaz 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:

  • left. ve rightyazın. Tür aynı Boole türündedir.

  • Ise left. ve rightyazın. Tür null atanamaz, düğüm kaldırılmaz. Düğümün türü, önceden tanımlanmış koşullu AND işlecin sonuç türüdür.

  • Ise left. ve rightyazın. Tür null atanabilir, düğüm kaldırılır. Düğümün türü, önceden tanımlanmış koşullu AND işlecin sonuç türüne karşılık gelen null atanabilir türdür.

Şunlara uygulanır