Usuário com melhor resposta
ICollection ou List

Pergunta
-
Olá a todos!
No livro Code First da Julia Lerman, é usado com muita frequência List<T>.
No artigo da MSDN Code First no ADO.NET Entity Framework 4.1, do Rowan Miller já é utilizado com muita frequência a interface ICollection<T>.
Devo optar por qual? E porque?
Lets
- Editado Lets Carvalho terça-feira, 12 de março de 2013 00:33
Respostas
-
Oi Samuel, gostei da resposta.
Para o que eu quero List<> vai muito bem pois:
- Uma turma possui diversos alunos;
- Uma empresa emprega vários funcionários;
- Um pedido é composto por vários itens;
- Um país tem muitos estados da federação.
- .........
Entretanto, caso não haja problemas com a performance, usar ICollection<> fica mais elegante e flexível.
Por favor, valide este comentário.
Valeu e muito.
Lets
Para complementar, dê uma olhada aqui: http://stackoverflow.com/questions/4455428/difference-between-iqueryable-icollection-ilist-idictionary-interface
Seguinte, você perguntou de performance, e segundo essa discussão no fórum do asp.net (nunca entendi tanto fóruns separados) IList é mais performático, um dos motivos é a auto indexação.
Microsoft Communit Contributor
Twitter: @MayogaX
Blog: Dev Blog- Marcado como Resposta Lets Carvalho terça-feira, 12 de março de 2013 14:02
Todas as Respostas
-
Cara, Primeiro precisa saber a diferença entre os dois.
http://msdn.microsoft.com/pt-br/library/system.collections.icollection.aspx
http://msdn.microsoft.com/pt-br/library/vstudio/6sh2ey19.aspx
Exemplos:
http://www.macoratti.net/11/11/c_intf1.htm
http://msdn.microsoft.com/en-us/library/vstudio/ms173156.aspx
http://msdn.microsoft.com/pt-br/library/vstudio/87d83y5b.aspx
O List implementa a interface ICollection ou seja um método com retorno List só pode retornar um List. Porém se fizer um método que tenha um retorno ICollection você pode retornar tudo que implementa essa interface como por exemplo(Lis, Array e etc...)
Atenciosamente,
Samuel dos Anjos
- Editado Samuel Rodrigues dos Anjos terça-feira, 12 de março de 2013 00:48
- Sugerido como Resposta Samuel Rodrigues dos Anjos terça-feira, 12 de março de 2013 00:49
-
Oi Samuel, gostei da resposta.
Para o que eu quero List<> vai muito bem pois:
- Uma turma possui diversos alunos;
- Uma empresa emprega vários funcionários;
- Um pedido é composto por vários itens;
- Um país tem muitos estados da federação.
- .........
Entretanto, caso não haja problemas com a performance, usar ICollection<> fica mais elegante e flexível.
Por favor, valide este comentário.
Valeu e muito.
Lets
-
Oi Samuel, gostei da resposta.
Para o que eu quero List<> vai muito bem pois:
- Uma turma possui diversos alunos;
- Uma empresa emprega vários funcionários;
- Um pedido é composto por vários itens;
- Um país tem muitos estados da federação.
- .........
Entretanto, caso não haja problemas com a performance, usar ICollection<> fica mais elegante e flexível.
Por favor, valide este comentário.
Valeu e muito.
Lets
Para complementar, dê uma olhada aqui: http://stackoverflow.com/questions/4455428/difference-between-iqueryable-icollection-ilist-idictionary-interface
Seguinte, você perguntou de performance, e segundo essa discussão no fórum do asp.net (nunca entendi tanto fóruns separados) IList é mais performático, um dos motivos é a auto indexação.
Microsoft Communit Contributor
Twitter: @MayogaX
Blog: Dev Blog- Marcado como Resposta Lets Carvalho terça-feira, 12 de março de 2013 14:02