tag for entonces doble declarar condiciones condicionales condicion con c#

c# - for - Usando más de una condición en linq''s donde método



if con dos condiciones excel (7)

¿Qué representaría "y"?

Puedes usar una condición estándar &&. No hay necesidad de una "y":

codebase.Methods.Where(x => x.Body.Scopes.Count > 5 && x.Body.SomethingElse < 14);

Tengo una línea de código usando donde:

codebase.Methods.Where(x => x.Body.Scopes.Count > 5);

¿Cómo puedo insertar más de una condición? Entonces puedo decir x => predicate && y => predicate ?

Gracias


En tu ejemplo, ¿de dónde vienes? El método Where toma un lambda con un único parámetro de entrada, que representa una instancia única de la secuencia con la que está operando.

Por supuesto, puedes tener múltiples condiciones contra x :

Where(x => x.Foo > 5 && x.Bar < 3)


Me gusta esto..

codebase.Methods.Where(x => x.Body.Scopes.Count > 5 && x.Body.Scopes.Count < 10);


No lo entiendo ¿Qué no puedes hacer?

codebase.Methods.Where(x => x.Head.IsHairy && x.Body != null && x.Body.Scopes.Count > 5);


Puede rodar sus condiciones separadas en un solo predicado si lo desea:

codebase.Methods.Where(x => (x.Body.Scopes.Count > 5) && (x.Foo == "test"));

O puede usar una llamada Where separada para cada condición:

codebase.Methods.Where(x => x.Body.Scopes.Count > 5) .Where(x => x.Foo == "test");


no, no puede definir 2 delegados en el mismo lugar pero puede construir uno detrás del otro o poner ambos en las mismas condiciones como esta

var result = codebase.Methods.Where(x => x.Body.Scopes.Count > 5 && x.Body.Scopes.name == "" ); or var result = codebase.Methods.Where(x => x.Body.Scopes.Count > 5 ) .where( y=> y.Body.Scopes.name == '''' ); or var result = codebase.Methods.Where(x => x.Body.Scopes.Count > 5 ) .Union( codebase.Methods.Where(y => y.Body.Scopes.name == '''' ) );


codebase.Methods.Where(x => x.Body.Scopes.Count > 5).Where(x => x.Body.Scopes.TypeName == "Scopes").Where(x => x.Body.Scopes.Level == LEVEL_HIGH);