2011-04-20 16 views
5

¿Puede el siguiente bucle puede implementar utilizando IQueryable, expresiones lambda IEnumerable o con LINQnecesita ayuda para convertir C# bucle foreach para lambda

private bool functionName(int r, int c) 
{ 
    foreach (S s in sList) 
    { 
     if (s.L.R == r && s.L.C == c) 
     { 
      return true; 
     } 
    } 

    return false; 
} 

si es así, ¿cómo?

+5

La pregunta no tiene sentido y es demasiado abierta. Por favor, lea http://tinyurl.com/so-hints y revise su pregunta. – Richard

+2

Pregunta de la entrevista? –

+10

La parte divertida es que incluso con estas preguntas incompletas sobre tareas, estamos respondiendo para obtener un poquito de reputación :) ¡El sistema funciona demasiado bien! – Philippe

Respuesta

6

Probar:

private bool functionName(int r, int c) 
{ 
    return sList.Any(s => s.L.R == r && s.L.C == c); 
} 

El Cualquier método de extensión de LINQ se aplica a una secuencia IEnumerable (que podría ser una lista, por ejemplo) y devuelve verdadero si cualquiera de los artículos en el retorno secuencia cierto para el predicado dado (en este caso, una función Lambda s => s.L.R == r && s.L.C == c).

6

algo como:

return sList.Any(s => s.L.R == r && s.L.C == c); 
-1

Un ejemplo

private bool functionName(int r,int c) 
{ 
    var ret = from s in sList where s.L.R==r&&s.L.C==c select s; 
    return ret.Count()>0; 
} 
0

ya que se debe dar más información acerca de las clases (SLR ??) que utiliza y que no sabe lo que realmente quiere como resultado de la función, esto no es 100 por ciento seguro:

return sList.Any(s => s.L.R == r && s.L.C == c); 

/e: parece como si estuviera un poco de retraso, s Ory chicos. No estaba copiando el tuyo

Cuestiones relacionadas