Cordas vs string [duplicado]
-
02-07-2019 - |
Pergunta
Em C # há objetos String
e objetos string
.
Qual é a diferença entre os dois? Quais são as melhores práticas sobre qual usar?
Solução
Não há nenhuma diferença. string (minúsculas) é apenas um apelido para System.String.
Outras dicas
Não há diferença. System.String
é estritamente idêntico ao string
. Common C codificação diretrizes # indica que você deve usar a palavra-chave string
.
Eles são aliases e são intercambiáveis. No entanto, estilisticamente, por declarações, eu uso a string em minúsculas, e para os métodos estáticos, eu uso da cadeia.
string foo = "bar";
if( foo != String.Empty )
{
Console.WriteLine(String.Format("foo.Length = {0}", foo.Length));
}
Um é System.String o tipo .NET e um é específico para C #, que acaba por ser uma volta alias para System.String.
http://msdn.microsoft.com/ en-us / library / 362314fe (VS.71) .aspx
Não há uma diferença. string é um alias que os convertidos do compilador para System.String.
Na verdade, ele está mesmo alias em MSIL:
.method private hidebysig static void Main(string[] args) cil managed
Não há nenhuma diferença entre eles. string é apenas um apelido para System.String. Quando compilado ambos são compilados para System.String objeto.
A versão minúscula é apenas um alias para a classe String real. Não há nenhuma diferença real na medida em que IL gerado.
Não há nenhuma diferença. string é uma palavra-chave linguagem C # que se refere à System.String classe, assim como int é uma palavra-chave que se refere a System.Int32.
No futuro, tentar compilar um aplicativo que usa tanto e depois usar refletor (alterar o idioma para IL) para visualizar a saída compilada. Você verá que não há diferença.
Não há nenhuma diferença porque string é convertida para System.String pelo compilador. Mesmo com todos os tipos comuns (int vai para System.Int32, etc). Nós usamos o nome simples para que eles se destacam.
Considerando que um “int” é diferente em algumas línguas, dependendo do sistema de 16bit / 32bit, uma "string" poderia no futuro evoluir para não ser o mesmo que System.String.
Mas, por enquanto é.
apenas uma nota bit: corda / String não é o único par de aliases: por exemplo. Integer, Int32, int são todos os aliases.
@mliesen:. Não aconteceu em C #, não é como C. isto porque a partir de C # você não cria executável, mas um código per-compilados, como java