Expression.OrElse Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
yalnızca ilk işleç olarak değerlendirilirse ikinci işleneni değerlendiren falsebir koşullu OR işlemi temsil eden bir BinaryExpression oluşturur.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| OrElse(Expression, Expression) |
İkinci işleneni yalnızca ilk işlenen olarak değerlendiriyorsa değerlendiren |
| OrElse(Expression, Expression, MethodInfo) |
İkinci işleneni yalnızca ilk işlenen olarak değerlendiriyorsa değerlendiren |
OrElse(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 falsebir koşullu OR işlemi temsil eden bir BinaryExpression oluşturur.
public:
static System::Linq::Expressions::BinaryExpression ^ OrElse(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right);
public static System.Linq.Expressions.BinaryExpression OrElse(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right);
static member OrElse : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression -> System.Linq.Expressions.BinaryExpression
Public Shared Function OrElse (left As Expression, right As Expression) As BinaryExpression
Parametreler
- left
- Expression
Özelliğinin Left değerine eşit olarak ayarlanması için birExpression.
- right
- Expression
Özelliğinin Right değerine eşit olarak ayarlanması için birExpression.
Döndürülenler
BinaryExpression özelliğine OrElseNodeType eşit ve ve RightLeft ö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ü.
-veya-
left. ve rightyazın. Tür aynı Boole türü değildir.
Örnekler
Aşağıdaki kod örneğinde, ikinci işleneni değerlendiren bir mantıksal OR işlemi temsil eden bir ifadenin nasıl oluşturulacağı ancak ilk işlenen olarak değerlendirilirse nasıl oluşturulacağı falsegösterilmektedir.
// Add the following directive to your file:
// using System.Linq.Expressions;
// This expression perfroms a logical OR operation
// on its two arguments, but if the first argument is true,
// then the second arument is not evaluated.
// Both arguments must be of the boolean type.
Expression orElseExpr = Expression.OrElse(
Expression.Constant(false),
Expression.Constant(true)
);
// Print out the expression.
Console.WriteLine(orElseExpr.ToString());
// The following statement first creates an expression tree,
// then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda<Func<bool>>(orElseExpr).Compile().Invoke());
// This code example produces the following output:
//
// (False OrElse True)
// True
' Add the following directive to your file:
' Imports System.Linq.Expressions
' This expression perfroms a logical OR operation
' on its two arguments, but if the first argument is true,
' the second arument is not evaluated.
' Both arguments must be of the Boolean type.
Dim orElseExpr As Expression = Expression.OrElse(
Expression.Constant(False),
Expression.Constant(True)
)
' Print the expression.
Console.WriteLine(orElseExpr.ToString())
' The following statement first creates an expression tree,
' then compiles it, and then executes it.
Console.WriteLine(Expression.Lambda(Of Func(Of Boolean))(orElseExpr).Compile()())
' This code example produces the following output:
'
' (False OrElse True)
' 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
rightözelliğileftbit düzeyindeORiş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
ORişleç C# veya Visual Basic'te aşırı yüklenemez. Ancak, koşulluORişleç bit düzeyindeORişleci kullanılarak değerlendirilir. Bu nedenle, bit düzeyindeORişlecin kullanıcı tanımlı aşırı yüklemesi bu düğüm türü için uygulayan yöntem olabilir.Aksi takdirde, ise
left. verightyazın. Tür Boole türleri, uygulayan yöntem ise şeklindedirnull.
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 veright.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. verightyazı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. verightyazın. Tür aynı Boole türündedir.Ise
left. verightyazın. Tür null atanamaz, düğüm kaldırılmaz. Düğümün türü, önceden tanımlanmış koşulluORişlecin sonuç türüdür.Ise
left. verightyazın. Tür null atanabilir, düğüm kaldırılır. Düğümün türü, önceden tanımlanmış koşulluORişlecin sonuç türüne karşılık gelen null atanabilir türdür.
Şunlara uygulanır
OrElse(Expression, Expression, MethodInfo)
- 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 falsebir koşullu OR işlemi temsil eden bir BinaryExpression oluşturur.
public:
static System::Linq::Expressions::BinaryExpression ^ OrElse(System::Linq::Expressions::Expression ^ left, System::Linq::Expressions::Expression ^ right, System::Reflection::MethodInfo ^ method);
public static System.Linq.Expressions.BinaryExpression OrElse(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo method);
public static System.Linq.Expressions.BinaryExpression OrElse(System.Linq.Expressions.Expression left, System.Linq.Expressions.Expression right, System.Reflection.MethodInfo? method);
static member OrElse : System.Linq.Expressions.Expression * System.Linq.Expressions.Expression * System.Reflection.MethodInfo -> System.Linq.Expressions.BinaryExpression
Public Shared Function OrElse (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 birExpression.
- right
- Expression
Özelliğinin Right değerine eşit olarak ayarlanması için birExpression.
- method
- MethodInfo
Özelliğinin Method değerine eşit olarak ayarlanması için AMethodInfo.
Döndürülenler
BinaryExpression özelliğine OrElseNodeType 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ü.
-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
Aşağıdaki kurallar, işlem için uygulama yöntemini belirler:
değilse
methodnullve iki bağımsız değişken alan geçersizstaticolmayan (SharedVisual Basic'te) yöntemini temsil ederse, düğüm için uygulayan yöntemdir.Aksi takdirde, Type ya da
leftrightözelliği bit düzeyindeORiş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
ORişleç C# veya Visual Basic'te aşırı yüklenemez. Ancak, koşulluORişleç bit düzeyindeORişleci kullanılarak değerlendirilir. Bu nedenle, bit düzeyindeORişlecin kullanıcı tanımlı aşırı yüklemesi bu düğüm türü için uygulayan yöntem olabilir.Aksi takdirde, ise
left. verightyazın. Tür Boole türleri, uygulayan yöntem ise şeklindedirnull.
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 veright.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. verightyazı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. verightyazın. Tür aynı Boole türündedir.Ise
left. verightyazın. Tür null atanamaz, düğüm kaldırılmaz. Düğümün türü, önceden tanımlanmış koşulluORişlecin sonuç türüdür.Ise
left. verightyazın. Tür null atanabilir, düğüm kaldırılır. Düğümün türü, önceden tanımlanmış koşulluORişlecin sonuç türüne karşılık gelen null atanabilir türdür.