Cualquier persona a comentar sobre si debemos utilizar "I" o "II" y "&" o "& &" en nuestra LINQ) Donde (extensiones/consultas? ¿Alguna diferencia con LINQ to SQL? El árbol de expresión resultante es más de lo que puedo conseguir mi cerebro alrededor de viernes por la tardeLINQ where() Tubos individuales o dobles/Ampersands
Gracias,
static void Main(string[] args)
{
var numbers = new int[] { 1, 2, 3, 4, 5, 6, 7, 8, 9 };
var q1 = numbers.Where(i => i == 1 | i == 2);
var q2 = numbers.Where(i => i == 1 || i == 2);
var q3 = numbers.Where(i => i == 1 & i < 3);
var q4 = numbers.Where(i => i == 1 && i < 3);
Write(q1);
Write(q2);
Write(q3);
Write(q4);
}
static void Write<T>(IEnumerable<T> t)
{
foreach (var i in t)
Console.Write("{0} ", i);
Console.WriteLine();
}
Results:
1 2
1 2
1
1
'|' no es bitwise para 'bool's, simplemente no está en cortocircuito. Dicho esto, ¿SQL incluso garantiza ese cortocircuito 'Y' y 'O' allí? Si no lo hace, entonces esperaría que '|' y '||' se tradujeran a 'OR 'en cualquier caso. –
Ok Pavel, Marc, ¿qué es? Además del código del chico que estoy revisando, nunca he visto versiones únicas de ninguno de los utilizados. – andleer
|/& no son "bitwise", solo son bitwise para tipos integrales y bool. Son lógicos para todo lo demás. –