Exporter (0) Imprimer
Développer tout
Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source

Expression.And, méthode (Expression, Expression)

Crée un BinaryExpression qui représente une opération AND au niveau du bit.

Espace de noms :  System.Linq.Expressions
Assembly :  System.Core (dans System.Core.dll)

public static BinaryExpression And(
	Expression left,
	Expression right
)

Paramètres

left
Type : System.Linq.Expressions.Expression
Expression auquel la propriété Left doit être égale.
right
Type : System.Linq.Expressions.Expression
Expression auquel la propriété Right doit être égale.

Valeur de retour

Type : System.Linq.Expressions.BinaryExpression
BinaryExpression dont la propriété NodeType est égale à And et dont les propriétés Left et Right ont les valeurs spécifiées.

ExceptionCondition
ArgumentNullException

left ou right a la valeur null.

InvalidOperationException

L'opérateur de bits AND n'est pas défini pour left.Type et right.Type.

La méthode d'implémentation est affectée à la propriété Method du BinaryExpression résultant. Le type du nœud est affecté à la propriété Type. Si le nœud est levé, les propriétés IsLifted et IsLiftedToNull ont la valeur true. Sinon, elles ont la valeur false. La propriété Conversion est null.

Les informations suivantes décrivent la méthode d'implémentation, le type de nœud et indiquent si un nœud est levé.

Bb301748.collapse_all(fr-fr,VS.110).gifMéthode d'implémentation

Les règles suivantes déterminent la méthode d'implémentation pour l'opération :

  • Si la propriété Type de left ou right représente un type défini par l'utilisateur qui surcharge l'opérateur de bits AND, le MethodInfo qui représente cette méthode est la méthode d'implémentation.

  • Sinon, si left.Type et right.Type sont des types intégraux ou booléens, la méthode d'implémentation est null.

Bb301748.collapse_all(fr-fr,VS.110).gifType de nœud, levé ou non levé

Si la méthode d'implémentation n'est pas null :

  • Si left.Type et right.Type peuvent être assignés aux types d'arguments correspondants de la méthode d'implémentation, le nœud n'est pas levé. Le type du nœud est le type de retour de la méthode d'implémentation.

  • Si les deux conditions suivantes sont satisfaites, le nœud est levé et le type du nœud est le type Nullable qui correspond au type de retour de la méthode d'implémentation :

    • left.Type et right.Type sont deux types valeur dont l'un, au moins, est Nullable et les types autres que Nullable correspondants sont égaux aux types d'arguments correspondants de la méthode d'implémentation.

    • Le type de retour de la méthode d'implémentation est un type valeur non Nullable.

Si la méthode d'implémentation est null :

  • Si left.Type et right.Type sont non Nullable, le nœud n'est pas levé. Le type du nœud est le type de résultat de l'opérateur de bits AND prédéfini.

  • Si left.Type et right.Type sont Nullable, le nœud est levé. Le type du nœud est le type Nullable qui correspond au type de résultat de l'opérateur de bits AND prédéfini.

L'exemple de code suivant indique comment créer une expression qui représente une opération AND logique sur deux valeurs booléennes.


// Add the following directive to your file:
// using System.Linq.Expressions;  

// This expression perfroms a logical AND operation
// on its two arguments. Both arguments must be of the same type,
// which can be boolean or integer.             
Expression andExpr = Expression.And(
    Expression.Constant(true),
    Expression.Constant(false)
);

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

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

// This code example produces the following output:
//
// (True And False)
// False


.NET Framework

Pris en charge dans : 4.5.2, 4.5.1, 4.5, 4, 3.5

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Bibliothèque de classes portable

Pris en charge dans : Bibliothèque de classes portable

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

.NET pour les applications Windows Phone

Pris en charge dans : Windows Phone 8, Silverlight 8.1

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
Afficher:
© 2014 Microsoft