Maison  >  Article  >  développement back-end  >  Une introduction détaillée à la généralité et à la particularité des chaînes en C# (images et texte)

Une introduction détaillée à la généralité et à la particularité des chaînes en C# (images et texte)

黄舟
黄舟original
2017-03-21 11:30:511373parcourir

Cet article présente principalement les connaissances générales et spécifiques de string en C# Il a une bonne valeur de référence. Jetons-y un coup d'œil avec l'éditeur.

Le type string est l'un des types primitifs de C#. C'est un type référence, correspondant au type System.String en FCL. Quelles sont les similitudes et les différences entre le type chaîne et les types référence ordinaires ?

1. Les chaînes ont une invariance fixe. Les chaînes existent sous l'espace de noms System.String Grâce à l'outil de décompilation, nous pouvons voir :

Il n'y a que deux

attributs en lecture seule dans la chaîne, et il n'y a aucun attribut réglable, donc les instances du type chaîne ont corrigé le transsexuel. Tant que le contenu de la chaîne est modifié, le système générera une toute nouvelle chaîne dans la mémoire tas. En fait, cela ne peut pas être considéré comme une caractéristique particulière des chaînes. Ce n'est pas différent des types de référence ordinaires, c'est simplement que lorsque le type de chaîne est défini, aucun attribut inscriptible n'est créé, cela ne peut donc être considéré que comme une caractéristique générale. de cordes.

Le code de démonstration est le suivant :

 class Program
 {
 static void Main(string[] args)
 {
  string str1 = "Hi";
  string str2 = str1;
  str2 = "Hello"; //这个操作相当于给实例str2重新new了一个实例
  Console.WriteLine("str1的值为:{0}", str1);
  Console.WriteLine("str2的值为:{0}", str2);
  Console.ReadKey();
 }
 }
Les résultats en cours d'exécution sont les suivants :

2. pool résident dans le concept de chaîne, ceci est spécifique au type de chaîne, c'est donc la spécificité des chaînes. Lorsque la chaîne que nous déclarons a la même valeur qu'une chaîne qui existe déjà dans le tas, l'espace ne sera pas ouvert dans le tas et une nouvelle instance sera créée. Au lieu de cela, la référence de la chaîne actuellement déclarée pointera vers la chaîne existante. exemple.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn