Ícone do site Celso Kitamura

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

Qual a diferença entre String e string - C#
5/5 - (2 votes)

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:

 

String strNome;

 

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

 

string strNome;

 

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

 

using System;

namespace ConsoleApplication
{
    public class Program
    {
        public static void Main(string[] args)
        {
            string s = "Hello ";
            string t = "World";
            string st = String.Concat(s, t);
            Console.WriteLine(st);
        }
    }
}

 

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ó).

 

Meu e-book Como Aprender a Programar do Absoluto Zero está GRATUITO por tempo limitado!

Olha o link: 👉🏼 http://celsokitamura.com.br/como-aprender-a-programar

Bora aprender a programar!

Sair da versão mobile