Avatar ·

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

Olá a todos. Comecei a estudar C# recentemente e notei que em diferentes exemplos de código as strings são declaradas de formas diferentes: às vezes com `String`, às vezes com `string`. Por exemplo: ```csharp string name = "Alexey"; String lastName = "Ivanov"; ``` Parece-me que são a mesma coisa, mas não tenho certeza. Talvez haja alguma diferença sutil? Isso afeta o desempenho, a memória ou a possibilidade de usar métodos? Tentei usar `String` com letra maiúscula no Visual Studio, e o código compilou, mas o ReSharper destacou isso como um aviso. Por quê? Também ouvi dizer que em C# existem palavras-chave (como `int`, `bool`) e aliases de tipos. `string` é uma palavra-chave, e `String` é uma classe do .NET? Se sim, por que usar `String` se existe `string`? Ou é uma questão de estilo? Agradeceria uma explicação detalhada com exemplos para entender de uma vez por todas. Obrigado! <<>>

Resposta curta: é a mesma coisa

Em C#, `string` (com letra minúscula) é