Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

187
Vistas
Cuente el número de elementos presentes en la lista interna
public Class Users { string UserName, List<UserDesktop> userDesktop } public class UserDesktop { int ID, string DesktopName, string type -- here Type value is A, B; }

Aquí tengo que encontrar el recuento de usuarios que tienen asignado el escritorio de la variable Usuarios de tipo A que contiene todos los datos.

 List<Users> finalUsers = users.Count(s=>s.userDesktop.where(x=>x.type == "A"))

Por favor, hágamelo saber la forma correcta de hacerlo.

over 4 years ago · Santiago Trujillo
2 Respuestas
Responde la pregunta

0

Es posible que desee utilizar SelectMany para aplanar la lista y luego contarla:

 int numberOfUsersWithDesktopOfTypeA = users.SelectMany(u => u.userDesktop) .Count(ud => ud.type == "A");

Si desea la lista de usuarios que tienen un escritorio A:

 var usersWithDesktopA = Users.Where(u => u.Any(ud => ud.type == "A")); var numberOfUsersWithDesktopA = usersWithDesktopA.Count();
over 4 years ago · Santiago Trujillo Denunciar

0

Para consultar a los usuarios que tienen UserDesktop de tipo 'A':

 List<Users> hasDesktopAUsers = users.Where(u => u.userDesktop.Any(ud => ud.type == "A")) .ToList();

A continuación, puede obtener el número de cuentas del resultado anterior como:

 int numberOfDesktopAUsers = hasDesktopAUsers.Count;

Fuera de tema:

Se recomienda tener una convención de nomenclatura adecuada para manejar términos simples y plurales para evitar confusiones. Por ejemplo:

 public class User { public string UserName { get; set; } public List<UserDesktop> UserDesktops { get; set; } } public class UserDesktop { public int ID { get; set; } public string DesktopName { get; set; } public string Type { get; set; } }

De lo anterior, debe nombrar como User , ya que es un objeto User , mientras que UserDesktops con 's', ya que es un conjunto de colección.

Solución final:

 List<User> hasDesktopAUsers = users.Where(u => u.UserDesktops.Any(ud => ud.Type == "A")) .ToList(); int numberOfDesktopAUsers = hasDesktopAUsers.Count;
over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda