Inquiridor
percorrer uma expressão lambda find com toList

Pergunta
-
Todas as Respostas
-
Bom dia! A seguinte expressão lambda:
var inscID = insAtleBo.Find(codRs => codRs.Insc_Atle_PK_Inscricao == idInscricao);
Retorna em alguns casos mais de um valor. Como eu faço para percorrer cada um desses elementos?
Obrigada!
var inscID = insAtleBo.Find(codRs => codRs.Insc_Atle_PK_Inscricao == idInscricao).ToList();
Mas como ficaria o for ??? -
Pessoal, consegui fazer assim:
//TRAZ O VALOR DA INSCRICAO SELECIONADO PELO USUARIO var inscID = insAtleBo.Find(codRs => codRs.Insc_Atle_PK_Inscricao == idInscricao).ToArray(); //PERCORRE TODOS OS ITENS QUE ELE ENCONTRAR COM AQUELE VALOR. for (int i = 0; i < inscID.Length; i++) { var idAtleta = inscID[i].Insc_Atle_PK_Atleta; AtletaBo atleBO = new AtletaBo(); var selectAtletasInscricao = atleBO.Find(codRs => codRs.Atle_Codigo == idAtleta).ToArray(); //FOR PARA PODER TRAZER CADA UM DOS VALORES SEPARADAMENTE E INSERIR NO <SELECT> (OU DROPDOWLIST) for (int j = 0; j < selectAtletasInscricao.Length; j++) { selectAtleta.DataTextField = selectAtletasInscricao[j].Atle_Nome; selectAtleta.DataValueField = Convert.ToString(selectAtletasInscricao[j].Atle_Codigo); selectAtleta.DataSource = selectAtletasInscricao; // DÁ EXCEPTION NESSA LINHA selectAtleta.DataBind(); // E NESSA TAMBÉM } }
exception:
DataBinding: 'SoccerScan.Data.Tab_Atleta' does not contain a property with the name 'teste'.
-
-
Se você quer percorrer a lista de valores retornados, basta usar um foreach...
var lista = obj.Find(...); foreach (elemento in lista) { // ... }
Abraços,
Caio Proiete
Caio Proiete
Microsoft MVP, MCT, MCPD, MCTS, MCSD
http://caioproiete.net