REF: algo que facilita o entendimento é estudar sobre Value Types e Reference Types. Em resumos, tipos primitivos (int, bool, ...) são value types, mas tipos mais complexos como classes, são reference type, não sendo necessário o uso do REF.
IN: eu vejo que o caso de uso seria para evitar realocação de memória, ou seja, em contextos em que precise de escovação de bit para obter o máximo de performance.
Pessoalmente acho que isso torna o código muito mais legível e eficiente, uma pena que a maioria das empresas onde trabalhei nao usam e praticamente te proíbem de usar esse tipo de solução.
Ref eu já tinha utilizado, inclusive foi muito útil. Params foi excelente eu confesso que eu não conhecia achei legal. Agora uma grande dúvida que eu tenho ainda com C# é só o uso de Delegates rs. Nunca precisei usar, ou talvez não utilizei ainda por não conhecer a fundo.
eu vejo isso como muito positivo em um cenário onde você tem variáveis separadas que precisam ser passadas como uma lista pra uma função. Por exemplo, eu tenho uma lista que recebe um conjunto de usuários pra salvar no banco. Daí eu tenho um contexto em que eu crio especificamente usuários. Ao invés de ter o trabalho de criar uma List {usuario1, usuario2, usuario3 } e passar por parâmetro eu só chamo meu método CriarUsuario(usuario1, usuario2, usuario3). Também já teve um caso em que em um teste precisei verificar a chamada de um método de uma forma não convencional (não lembro 100% da sintaxe mas era algo como:) Verify("NomeDoMeuMetodo", param1, param2, param3). Provavelmente esse método verify usa de alguma forma esse params, dessa forma, eu não deixo ele dependente da quantidade de parâmetros de nenhum método.
A variável com out é obrigada a receber um valor dentro do método, enquanto a variável com ref, não. Além disso, na execução do método, o parâmetro com ref deve ser inicializado antes da execução, por exemplo, var minhaVariavel = null | DoSome(ref minhaVariavel), e o parâmetro com out pode ser inicializado na execução (Ex. DoSome(out var minhaVariavel)
André cada ano que passa tá mais mito de conteúdo e mais novo de aparência kk Parabéns professor! E por gentileza, prepara esse que mencionou de ponteiros e referências.
REF: algo que facilita o entendimento é estudar sobre Value Types e Reference Types. Em resumos, tipos primitivos (int, bool, ...) são value types, mas tipos mais complexos como classes, são reference type, não sendo necessário o uso do REF.
Bom exemplo, não sabia disso. Muito obrigado 👏🏻👏🏻
Verdade! int, bool, decimal e etc são structs, logo, são value types.
Lembrando que isso varia de linguagem para linguagem
@@tiagofelipeullrich6071 se é algo novo para vc, então será importante conhecer sobre Conversões boxing e unboxing no C#
@@luan_maik Opa, irei pesquisar sobre!
Comecei como dev Jr agora em 2022... Sou novato ainda kk
Obrigado pela dica
Really nice and helpful... Thanks!
you're welcome 💜
this is going to be great!
💜
👏🏻👏🏻👏🏻👏🏻
💜
Show Balta !
💜💜💜
IN: eu vejo que o caso de uso seria para evitar realocação de memória, ou seja, em contextos em que precise de escovação de bit para obter o máximo de performance.
💜
Muito obrigado pelo conteúdo! Muito informativo!
💜
Pessoalmente acho que isso torna o código muito mais legível e eficiente, uma pena que a maioria das empresas onde trabalhei nao usam e praticamente te proíbem de usar esse tipo de solução.
💜💜💜
Parabéns !!
💜
Excelente vídeo.
💜
Obrigado, Balta! :)
💜
Top demais, gostei muito da aplicação do params
💜
Ótimo vídeo, muito obrigado!!!
💜
Ref eu já tinha utilizado, inclusive foi muito útil. Params foi excelente eu confesso que eu não conhecia achei legal. Agora uma grande dúvida que eu tenho ainda com C# é só o uso de Delegates rs.
Nunca precisei usar, ou talvez não utilizei ainda por não conhecer a fundo.
💜💜💜💜
Não conhecia, achei interessante o ref e o params
💜💜💜
o params só funcionar com array[ ] ? não da para usar um params List por exemplo ?
Só via array
Bacana, simples e objetivo. Mas qual seria o ganho entre ter, por exemplo, um List e o params Student [] na chamada do Método?
eu vejo isso como muito positivo em um cenário onde você tem variáveis separadas que precisam ser passadas como uma lista pra uma função. Por exemplo, eu tenho uma lista que recebe um conjunto de usuários pra salvar no banco. Daí eu tenho um contexto em que eu crio especificamente usuários. Ao invés de ter o trabalho de criar uma List {usuario1, usuario2, usuario3 } e passar por parâmetro eu só chamo meu método CriarUsuario(usuario1, usuario2, usuario3).
Também já teve um caso em que em um teste precisei verificar a chamada de um método de uma forma não convencional (não lembro 100% da sintaxe mas era algo como:)
Verify("NomeDoMeuMetodo", param1, param2, param3).
Provavelmente esse método verify usa de alguma forma esse params, dessa forma, eu não deixo ele dependente da quantidade de parâmetros de nenhum método.
.ToArray
Muito legal, embora para mim o out e o ref me pareceram iguais. rs
Sim, porém o ref é de fora para dentro e o out de dentro para fora da função...
Obrigado careca do Adrenaline
hahahahaha, meu irmão Diego do Adrena!!! 🚀🚀
Qual a diferença do modificadores Out e Ref? No fim das contas, o efeito parece ser o mesmo.
A variável com out é obrigada a receber um valor dentro do método, enquanto a variável com ref, não. Além disso, na execução do método, o parâmetro com ref deve ser inicializado antes da execução, por exemplo, var minhaVariavel = null | DoSome(ref minhaVariavel), e o parâmetro com out pode ser inicializado na execução (Ex. DoSome(out var minhaVariavel)
ref passa a referência de fora para dentro... out passa de dentro para fora...
balta, como vc lida com e-mails... utiliza qual api para o envio dos e-mails
Opa, expliquei bem isto no curso de Fundamentos do ASP.NET => balta.io/cursos/fundamentos-aspnet
André cada ano que passa tá mais mito de conteúdo e mais novo de aparência kk Parabéns professor! E por gentileza, prepara esse que mencionou de ponteiros e referências.
💜💜💜
na hora de criar o balta, o senior nao revisou o PR, o estagiario colocou idade - - ao invés de idade++
As keywords IN e OUT são usados em generics types para covariância e contravariância.
Exatamente! 💜💜💜💜
O Params é o "varargs" feito de forma elegante e não sorrateira.
boaaaaaa 💜