Expression.Or Yöntem

Tanım

Bit tabanlı BinaryExpression işlemi OR temsil eden bir oluşturur.

Aşırı Yüklemeler

Name Description
Or(Expression, Expression)

Bit tabanlı BinaryExpression işlemi OR temsil eden bir oluşturur.

Or(Expression, Expression, MethodInfo)

Bit tabanlı BinaryExpression işlemi OR temsil eden bir oluşturur.

Or(Expression, Expression)

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

Bit tabanlı BinaryExpression işlemi OR temsil eden bir oluşturur.

public:
 static System::Linq::Expressions::BinaryExpression ^ Or(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression Or(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member Or : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function Or (left As Expression, right As Expression) As BinaryExpression

Parametreler

left
Expression

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

right
Expression

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

Döndürülenler

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

Özel durumlar

left veya right şeklindedir null.

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

Örnekler

Aşağıdaki kod örneği, mantıksal OR 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 perfroms a logical OR operation
// on its two arguments. Both arguments must be of the same type,
// which can be boolean or integer.
Expression orExpr = Expression.Or(
    Expression.Constant(true),
    Expression.Constant(false)
);

// Print out the expression.
Console.WriteLine(orExpr.ToString());

// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda<Func<bool>>(orExpr).Compile()());

// This code example produces the following output:
//
// (True Or False)
// True
' Add the following directive to your file:
' Imports System.Linq.Expressions  

' This expression perfroms a logical OR operation
' on its two arguments. Both arguments must be of the same type,
' which can be Boolean or integer.             
Dim orExpr As Expression = Expression.Or(
     Expression.Constant(True),
     Expression.Constant(False)
 )

' Print the expression.
Console.WriteLine(orExpr.ToString())

' The following statement first creates an expression tree,
' then compiles it, and then executes it.       
Console.WriteLine(Expression.Lambda(Of Func(Of Boolean))(orExpr).Compile()())

' This code example produces the following output:
'
' (True Or False)
' True

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

  • Aksi takdirde, ise left. ve rightyazın. Tür integral veya Boole türleridir, uygulayan yöntem ş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 right. Türlerin her ikisi de en az birinin nullable olduğu değer türleridir ve karşılık gelen non-nullable 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:

  • Eğer left.Tür ve right.Tür her ikisi de null atanamazsa, düğüm taşınmaz. Düğümün türü, önceden tanımlanmış bit düzeyinde OR işlecin sonuç türüdür.

  • Eğer left.Tür ve right.Tür her ikisi de null atanabilir ise, düğüm kaldırılır. Düğümün türü, önceden tanımlanmış bit düzeyinde OR işlecin sonuç türüne karşılık gelen null atanabilir türdür.

Şunlara uygulanır

Or(Expression, Expression, MethodInfo)

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

Bit tabanlı BinaryExpression işlemi OR temsil eden bir oluşturur.

public:
 static System::Linq::Expressions::BinaryExpression ^ Or(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression Or(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression Or(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo? method);
static member Or : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function Or (left As Expression, right As Expression, method As MethodInfo) As BinaryExpression

Parametreler

left
Expression

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

right
Expression

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

method
MethodInfo

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

Döndürülenler

BinaryExpression özelliğine NodeTypeOr 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 OR işleç için lefttanımlanmamıştır. ve rightyazı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, ş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:

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

  • Aksi takdirde, Type ya da leftright özelliği bit düzeyinde OR 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.

  • Aksi takdirde, ise left. ve rightyazın. Tür integral veya Boole türleridir, uygulayan yöntem ş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 right. Türlerin her ikisi de en az birinin nullable olduğu değer türleridir ve karşılık gelen non-nullable 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:

  • Eğer left.Tür ve right.Tür her ikisi de null atanamazsa, düğüm taşınmaz. Düğümün türü, önceden tanımlanmış bit düzeyinde OR işlecin sonuç türüdür.

  • Eğer left.Tür ve right.Tür her ikisi de null atanabilir ise, düğüm kaldırılır. Düğümün türü, önceden tanımlanmış bit düzeyinde OR işlecin sonuç türüne karşılık gelen null atanabilir türdür.

Şunlara uygulanır