Expression.AndAlso 메서드
정의
중요
일부 정보는 릴리스되기 전에 상당 부분 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft는 여기에 제공된 정보에 대해 어떠한 명시적이거나 묵시적인 보증도 하지 않습니다.
첫 번째 피연산자가 BinaryExpression로 계산되는 경우에만 두 번째 피연산자를 계산하는 조건부 AND 연산을 나타내는 true을 만듭니다.
오버로드
| AndAlso(Expression, Expression, MethodInfo) |
첫 번째 피연산자가 true로 확인되는 경우에만 두 번째 피연산자를 계산하는 조건부 BinaryExpression 연산을 나타내는 |
| AndAlso(Expression, Expression) |
첫 번째 피연산자가 BinaryExpression로 계산되는 경우에만 두 번째 피연산자를 계산하는 조건부 |
AndAlso(Expression, Expression, MethodInfo)
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
첫 번째 피연산자가 true로 확인되는 경우에만 두 번째 피연산자를 계산하는 조건부 BinaryExpression 연산을 나타내는 AND을 만듭니다. 구현 메서드를 지정할 수 있습니다.
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
매개 변수
- left
- Expression
Expression 속성에 설정할 Left입니다.
- right
- Expression
Expression 속성에 설정할 Right입니다.
- method
- MethodInfo
MethodInfo 속성에 설정할 Method입니다.
반환
BinaryExpression 속성이 NodeType이고 AndAlso, Left 및 Right 속성이 지정된 값으로 설정된 Method입니다.
예외
left 또는 right가 null인 경우
method가 null이 아니고 이것이 나타내는 메서드가 void를 반환하거나, static(Visual Basic의 Shared)이 아니거나, 정확히 두 개의 인수를 사용하지 않는 경우
method가 null이고 비트 AND 연산자가 left.Type 및 right.Type에 대해 정의되지 않은 경우
또는
method가 null이고 left.Type과 right.Type이 동일한 부울 형식이 아닌 경우
설명
결과에 BinaryExpression 는 Method 구현 메서드로 설정된 속성이 있습니다. 속성은 Type 노드의 형식으로 설정됩니다. 노드가 해제되면 IsLifted 및 IsLiftedToNull 속성은 모두 true입니다. 그렇지 않으면 입니다 false.
Conversion 속성은 null입니다.
다음 정보는 구현 메서드, 노드 유형 및 노드 해제 여부를 설명합니다.
구현 방법
작업에 대한 구현 메서드는 다음 규칙에 따라 선택됩니다.
가 이 아니고 두 개의 인수를 사용하는 void
static가 아닌null(SharedVisual Basic의 경우) 메서드를 나타내는 경우method노드에 대한 구현 메서드입니다.그렇지 않으면 또는
right의left속성이 Type 비트AND연산 MethodInfo 자를 오버로드하는 사용자 정의 형식을 나타내는 경우 해당 메서드를 나타내는 는 구현 메서드입니다.참고
조건부
AND연산자는 C# 또는 Visual Basic에서 오버로드할 수 없습니다. 그러나 조건AND부 연산자는 비트AND연산자를 사용하여 평가됩니다. 따라서 비트AND연산자의 사용자 정의 오버로드는 이 노드 형식에 대한 구현 메서드일 수 있습니다.그렇지 않으면 이고, 그렇지 않으면 입니다
left. 및 를 입력합니다right. 형식은 부울 형식이고 구현 메서드는 입니다null.
노드 유형 및 해제됨 및 해제되지 않은 노드
구현 메서드가 이 아닌 null경우:
이면
left입니다. 및 를 입력합니다right. 형식은 구현 메서드의 해당 인수 형식에 할당할 수 있으며 노드는 해제되지 않습니다. 노드의 형식은 구현 메서드의 반환 형식입니다.다음 두 조건이 충족되면 노드가 해제되고 노드의 형식은 구현 메서드의 반환 형식에 해당하는 null 허용 형식입니다.
left. 및 를 입력합니다right. 형식은 둘 다 하나 이상의 null을 사용할 수 있는 값 형식이며, nullable이 아닌 해당 형식은 구현 메서드의 해당 인수 형식과 같습니다.구현 메서드의 반환 형식은 nullable이 아닌 값 형식입니다.
구현 메서드가 인 경우:null
left. 및 를 입력합니다right. 형식은 동일한 부울 형식입니다.이면
left입니다. 및 를 입력합니다right. 형식은 null을 허용하지 않으며 노드는 해제되지 않습니다. 노드의 형식은 미리 정의된 조건AND부 연산자의 결과 형식입니다.이면
left입니다. 및 를 입력합니다right. 형식은 null 허용되고 노드는 해제됩니다. 노드의 형식은 미리 정의된 조건부 연산자의 결과 형식에 해당하는 nullable 형식입니다AND.
적용 대상
AndAlso(Expression, Expression)
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
- Source:
- BinaryExpression.cs
첫 번째 피연산자가 BinaryExpression로 계산되는 경우에만 두 번째 피연산자를 계산하는 조건부 AND 연산을 나타내는 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
매개 변수
- left
- Expression
Expression 속성에 설정할 Left입니다.
- right
- Expression
Expression 속성에 설정할 Right입니다.
반환
BinaryExpression 속성이 NodeType이고 AndAlso 및 Left 속성이 지정된 값으로 설정된 Right입니다.
예외
left 또는 right가 null인 경우
left.Type 및 right.Type에 비트 AND 연산자가 정의되지 않은 경우
또는
left.Type과 right.Type이 동일한 부울 형식이 아닌 경우
예제
다음 코드 예제에서는 첫 번째 피연산자가 로 계산되는 경우에만 두 피연산자에서 논리 AND 연산을 수행하는 식을 만드는 방법을 보여 줍니다 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
설명
결과에 BinaryExpression 는 Method 구현 메서드로 설정된 속성이 있습니다. 속성은 Type 노드의 형식으로 설정됩니다. 노드가 해제되면 IsLifted 및 IsLiftedToNull 속성은 모두 true입니다. 그렇지 않으면 입니다 false.
Conversion 속성은 null입니다.
다음 정보는 구현 메서드, 노드 유형 및 노드 해제 여부를 설명합니다.
구현 방법
다음 규칙은 작업에 대한 구현 메서드를 결정합니다.
또는
rightleft의 속성이 Type 비트AND연산 MethodInfo 자를 오버로드하는 사용자 정의 형식을 나타내는 경우 해당 메서드를 나타내는 는 구현 메서드입니다.참고
조건부
AND연산자는 C# 또는 Visual Basic에서 오버로드할 수 없습니다. 그러나 조건AND부 연산자는 비트AND연산자를 사용하여 평가됩니다. 따라서 비트AND연산자의 사용자 정의 오버로드는 이 노드 형식에 대한 구현 메서드일 수 있습니다.그렇지 않으면 이고, 그렇지 않으면 입니다
left. 및 를 입력합니다right. 형식은 부울 형식이고 구현 메서드는 입니다null.
노드 유형 및 해제됨 및 해제되지 않은 노드
구현 메서드가 이 아닌 null경우:
이면
left입니다. 및 를 입력합니다right. 형식은 구현 메서드의 해당 인수 형식에 할당할 수 있으며 노드는 해제되지 않습니다. 노드의 형식은 구현 메서드의 반환 형식입니다.다음 두 조건이 충족되면 노드가 해제되고 노드의 형식은 구현 메서드의 반환 형식에 해당하는 null 허용 형식입니다.
left. 및 를 입력합니다right. 형식은 둘 다 하나 이상의 null을 사용할 수 있는 값 형식이며, nullable이 아닌 해당 형식은 구현 메서드의 해당 인수 형식과 같습니다.구현 메서드의 반환 형식은 nullable이 아닌 값 형식입니다.
구현 메서드가 인 경우:null
left. 및 를 입력합니다right. 형식은 동일한 부울 형식입니다.이면
left입니다. 및 를 입력합니다right. 형식은 null을 허용하지 않으며 노드는 해제되지 않습니다. 노드의 형식은 미리 정의된 조건AND부 연산자의 결과 형식입니다.이면
left입니다. 및 를 입력합니다right. 형식은 null 허용되고 노드는 해제됩니다. 노드의 형식은 미리 정의된 조건부 연산자의 결과 형식에 해당하는 nullable 형식입니다AND.