C# 
-  Fundamentos : Diferença entre Equals e ==
    
    
    ![]()  | 
    Na série C# Fundamentos vou abordar os conceitos básicos da linguagem C#. Hoje veremos qual a diferença entre Equals e ==. | 
				
				![]()  | 
  
Usar o método Equals() ou o operador == ?
|   a.Equals(b) ou a == b ? 
  | 
	
Os tipos 
de dados no .Net Framework podem ser classificados de acordo com o fato de uma 
variável de um tipo específico armazenar seus próprios dados ou um ponteiro para 
os dados. 
Se a variável armazena seus próprios dados, é um tipo por valor e se ela 
contém um ponteiro para dados em outro lugar na memória, é um tipo de 
referência. 
Você pode atribuir um tipo de referência ou um tipo por valor a uma variável do 
tipo de dados Object.
O método Equals() e operador 
== são usados para comparar valores em variáveis por tipo e por 
referência e retornam o valor booleano (true/false).
Comparando tipos por valor
Para tipos por valor tanto o operador == como o método Equals() atuam da mesma forma; ambos comparam os dois objetos por valor:

Ambos retornam true pois neste caso ambos comparam o objeto pelo valor.
Comparando tipos por referência
Para tipos por referência o método Equals() opera de forma diferente do operador == .

Aqui temos que os objetos possuem o mesmo conteúdo mas elas apontam para instâncias diferentes. Assim == retorna false e Equals() retorna true.
Enquanto o operador == compara retornos de referência true quando ambas as referências apontam para o mesmo objeto, Equals() compara o objeto por valor e retornará true se as referências apontarem para objetos que são equivalentes.
Resumindo:
Veja este exemplo:
![]()  | 
		![]()  | 
	
Neste código temos que o conteúdo e as referências de o e o1 são os mesmos. Logo o valor de ambos será true.
E estamos 
conversados... 
![]()

"Deus nunca foi visto por alguém. O 
Filho unigênito (Jesus), que está no seio do Pai, esse o revelou."
João 1:18
| 
    
    Veja os 
    Destaques e novidades do SUPER DVD Visual Basic 
(sempre atualizado) : clique e confira ! 
 Quer migrar para o VB .NET ? 
 Quer aprender C# ?? 
 Quer aprender os conceitos da Programação Orientada a objetos ? Quer aprender o gerar relatórios com o ReportViewer no VS 2013 ?  | 
  
Referências:
Super DVD Vídeo Aulas - Vídeo Aula sobre VB .NET, ASP .NET e C#
Super DVD C# - Recursos de aprendizagens e vídeo aulas para C#
Curso Fundamentos da Programação Orientada a 
Objetos com VB .NET
![]()
https://msdn.microsoft.com/pt-br/library/84787k22(v=vs.110).aspx
https://msdn.microsoft.com/en-us/library/858x0yyx(v=vs.110).aspx
https://www.toptal.com/c-sharp/top-10-mistakes-that-c-sharp-programmers-make