Usuário com melhor resposta
Duvidas sobre C#

Pergunta
-
Conforme fui aprendendo C# surgiu algumas duvidas
1) List, HashSet, Dictionary e Arrays.
Qual é melhor usar num codigo? Qual a diferença entre as lists e os arrays? Tem o mesmo objetivo? Se não, quando devo usar uma ou outra?
2) Qual é exatamente a função do "this"? Indicar que o comando a seguir esta sendo referido a um objeto dentro de uma classe? Vi uns codigos onde usavam em variaveis e outros antes de metodos. EX: this._variavel, this.Close();.
3) Protected e private. São usados para determinar a visibilidade de um objeto. Protected eu usaria em caso de usar um objeto em outra classe que seria herança, e private apenas para a mesma classe?
4) Sobre o banco de dados. Qual é o mais usado com C#?
Respostas
-
Vamos lá:
1) Não dá pra generalizar e dizer qual é o melhor. Tudo depende da necessidade.
Sobre as semelhanças e diferenças, aqui vão alguns links:
https://msdn.microsoft.com/en-us/library/41107z8a.aspx?f=255&MSPPError=-2147217396
https://msdn.microsoft.com/en-us/library/9ct4ey7x(v=vs.90).aspx
https://stackoverflow.com/a/32020072/1184708
https://stackoverflow.com/questions/454916/performance-of-arrays-vs-lists
2) O this serve para evitar problemas com ambiguidade, ou seja, se sua classe possui um método ou propriedade com o mesmo nome de um método ou propriedade da classe em que ela extende (herança), usando o this você executará a implementação da classe atual, já se usar o base, você executará a implementação da classe mãe.3) Exatamente. Aqui há uma descrição de cada modificador de acesso: https://docs.microsoft.com/pt-br/dotnet/csharp/language-reference/keywords/accessibility-levels
4) Muitos talvez falarão que seja SQL Server, mas não há como ter certeza. De qualquer modo sugiro que não se baseie apenas no que é mais comum, na hora de decidir a arquitetura de um projeto. Veja as necessidades e limitações de seu projeto.
Juliano Nunes - http://linkedin.com/in/julianonunes
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.
- Sugerido como Resposta CarlosEduardo Ferreira quinta-feira, 26 de outubro de 2017 11:33
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 30 de outubro de 2017 16:15
Todas as Respostas
-
Vamos lá:
1) Não dá pra generalizar e dizer qual é o melhor. Tudo depende da necessidade.
Sobre as semelhanças e diferenças, aqui vão alguns links:
https://msdn.microsoft.com/en-us/library/41107z8a.aspx?f=255&MSPPError=-2147217396
https://msdn.microsoft.com/en-us/library/9ct4ey7x(v=vs.90).aspx
https://stackoverflow.com/a/32020072/1184708
https://stackoverflow.com/questions/454916/performance-of-arrays-vs-lists
2) O this serve para evitar problemas com ambiguidade, ou seja, se sua classe possui um método ou propriedade com o mesmo nome de um método ou propriedade da classe em que ela extende (herança), usando o this você executará a implementação da classe atual, já se usar o base, você executará a implementação da classe mãe.3) Exatamente. Aqui há uma descrição de cada modificador de acesso: https://docs.microsoft.com/pt-br/dotnet/csharp/language-reference/keywords/accessibility-levels
4) Muitos talvez falarão que seja SQL Server, mas não há como ter certeza. De qualquer modo sugiro que não se baseie apenas no que é mais comum, na hora de decidir a arquitetura de um projeto. Veja as necessidades e limitações de seu projeto.
Juliano Nunes - http://linkedin.com/in/julianonunes
Lembre-se de clicar em "Votar como útil" e "Marcar como Resposta" caso tenha respondido sua dúvida.
Remember to "Vote as Helpful" and "Mark as Answer" if your question has been answered.
- Sugerido como Resposta CarlosEduardo Ferreira quinta-feira, 26 de outubro de 2017 11:33
- Marcado como Resposta Filipe B CastroModerator segunda-feira, 30 de outubro de 2017 16:15
-
Boa tarde,
Por falta de retorno essa thread está encerrada.
Se necessário, favor abrir uma nova thread.
Atenciosamente,Filipe B de Castro
Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita
MSDN Community Support
Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.