Qual a diferença entre String e string em C#?

Se você já viu código feito por outras pessoas deve ter percebido que as vezes as variáveis do tipo string são declaradas de maneiras diferentes, dependendo de quem fez o código.

 

Você sabe por que isso acontece?

 

É isso que vamos ver neste artigo! Continue comigo!

 

Diferença entre String e string

 

Podemos declarar uma variável do tipo string assim:

 

 

Mas você pode ter visto em algum código alheio uma declaração assim:

 

 

Bom, basicamente não há diferença entre string e String no C#.

 

string é apenas um apelido (também conhecido como alias) do namespace System.String e ambos são compilados da mesma maneira.

 

String é o mesmo que System.String e é um tipo do .NET Framework. string é um alias (apelido) da linguagem C# para System.String.

 

Ambos são compilados para System.String no IL (Intermediate Language), então não há diferença.

 

Então, a grande pergunta (que você provavelmente está se fazendo) é:

 

Se ambos (String e string) fazem a mesma coisa, então por que precisam inventar isso para confundir o coitado do programador?

 

A resposta é simples.

 

string é apenas uma palavra-chave que fornece uma funcionalidade limitada e é utilizada principalmente na criação de variáveis.

 

Por sua vez, System.String é uma classe que lhe dá um grande conjunto de funções e propriedades para manipular uma string.

 

Conheça a diferença entre string e System.String

 

string é uma palavra-chave amplamente utilizada para declarar variáveis.

 

Onde System.String é uma classe e usado para acessar métodos estáticos de string como String.Format (), String.Compare (), etc.

 

Você pode usar string diretamente no seu programa e você não precisa adicionar using System no início do seu código.

 

Mas para utilizar o System.String, você precisa utilizar o using System para importar o namespace System.

 

Assim como long é mapeado para System.Int64, int é mapeado para System.Int32 e short mapeia para System.Int16, string é mapeado para System.String.

 

Exemplo

 

 

No  exemplo, você pode ver que string é utilizado basicamente para declarar as variáveis enquanto String é utilizado para acessar o método estático String.Concat(), que concatena duas strings (junta duas strings em uma só).

 

Se cadastre na lista VIP do Celso para ser avisado quando os próximos artigos da série forem publicados.

Comece pelo e-book GRATUITO

5 Passos Para Ser Um App Dev

Se você não sabe por onde começar, este e-book te mostra os passos para ser um desenvolvedor de aplicativos de sucesso.
100% livre de spam.

Para enviar seu comentário, preencha os campos abaixo:

Deixe uma resposta

*

Seja o primeiro a comentar!