Avatar ·

Quelle est la différence entre String et string en C# ? S'agit-il de types différents ?

Bonjour à tous ! J'ai récemment commencé à étudier C# et un point me trouble. Dans différents exemples de code, je vois que les chaînes sont déclarées de différentes manières : certains écrivent `string name = "John";`, d'autres `String name = "John";`. Les deux fonctionnent, IntelliSense ne se plaint pas. Mais ce sont pourtant des noms différents ? Peut-être que `String` est une classe de .NET, tandis que `string` est un type primitif ? Ou est-ce la même chose ? J'ai essayé d'écrire ce code : ```csharp string a = "Hello"; String b = "World"; Console.WriteLine(a.GetType()); // System.String Console.WriteLine(b.GetType()); // System.String Console.WriteLine(a == b); // True ``` Les deux affichent `System.String`, et la comparaison fonctionne. Mais si c'est la même chose, pourquoi deux noms ? Peut-être y a-t-il une différence de performance ou dans la façon dont ils gèrent la mémoire ? Ou est-ce simplement une question de style ? Je serais reconnaissant pour une explication détaillée, car j'ai peur d'écrire quelque chose de mal dans un projet réel. <<>>

Réponse courte