Empresas
Empregos
  • Sobre nós
  • Soluções
    • Publicação de vagas
      Publique sua vaga e receba candidatos qualificados em 48h.
    • Avaliações de candidatos
      Mais de 500 testes técnicos e psicológicos, mais anti-fraude.
    • Headhunting
      Busca executiva personalizada do início ao fim.
    • Folha de Pagamento + EOR
      Dispersão de folha e EOR em mais de 15 países da LATAM.
  • Preços
  • Empregos

0

186
Visualizações
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 Respostas
Responde à pergunta

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 Relatório

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 Relatório
Responde à pergunta
Encontrar trabalhos remotos

Descubra a nova forma de encontrar um emprego!

melhores empregos
Principais categorias de trabalho
Empresas
Postar vaga Preços Comercial
Jurídico
Termos e Condições Política de privacidade
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomende algumas ofertas para mim
Preciso de ajuda