IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)

Vous êtes nouveau sur Developpez.com ? Créez votre compte ou connectez-vous afin de pouvoir participer !

Vous devez avoir un compte Developpez.com et être connecté pour pouvoir participer aux discussions.

Vous n'avez pas encore de compte Developpez.com ? Créez-en un en quelques instants, c'est entièrement gratuit !

Si vous disposez déjà d'un compte et qu'il est bien activé, connectez-vous à l'aide du formulaire ci-dessous.

Identifiez-vous
Identifiant
Mot de passe
Mot de passe oublié ?
Créer un compte

L'inscription est gratuite et ne vous prendra que quelques instants !

Je m'inscris !

Strings en C# et .NET
Un tutoriel de Jon Skeet, traduit par Jean-Michel Ormes

Le , par Jean-Michel Ormes

12PARTAGES

3  0 
Cette discussion est destinée à recueillir vos commentaires sur l'article Strings en C# et .NET (traduction de l'article Strings in C# and .NET de Jon Skeet)

Le type System.String (raccourci string en C#) est l'un des types les plus importants en .NET, et malheureusement, il est très mal compris. Cet article tente d'expliquer certaines bases de ce type.

Une erreur dans cette actualité ? Signalez-nous-la !

Avatar de MABROUKI
Expert confirmé https://www.developpez.com
Le 14/06/2012 à 17:31
bonjour
C' est un tres bon article sur les string et bon courage aux traducteurs.........
Neanmoins sur la forme d'abord ,etant francophone je suis pointileux sur les termes (chose qu' un francais peut traiter à la legere vu les libertes qu'on peut prendre avec sa langue maternelle ....).

Un mot m'a etonne :Il est immuable ,j'ai compris plutot Immutable car il est passe dans l'usage comme integer,double etc...... du moins en C++,Java...(wiki.fr parle de mutable et non-mutable....)

Ensuite ce lapsus anglais,literal:

Essentiellement, un string est un tableau de caractères en mémoire, plus la longueur du tableau et la longueur du string (en caractères)
J'ai compris quant à moi que le tableau est rempli par les caracteres suivi par 2 espaces memoires (2 ,4 octets ?) precisant separemment la longueur du tableau et la longueur du string (en caractères)....
En Com un espace memoire est reserve en tete à l'adresse de depart du tableau suivi d'un espace memoire indiquant la longueur en caracteres suivi des caracteres de chaine .....plus un caractere terminateur de fin \0...

Sur le fond
L'auteur passe sur le pourquoi de l'immutabilite du string.....
(microsoft justifie l'immutabilite du string par la preservation des cles de hachage, et la securite ,un type immutable etant thread-safe:repertoire ,mot de passe etc....).....
Le "pool" de chaine de caracteres est une consequence de l'immutabilite puisque l'on garde les anciennes chaines et la surcharge memoire induite...
Cet inconvenient n'est pas transparent pour le programmeur....

Aussi je me pose une autre question :pourquoi microsoft n'a pas cree explicitement comme dans d'autres languages 2 types strings l'un mutable,l'autre non-mutable ....et pour chacun un domaine d'usage specifique........

bon code...............
0  0 
Avatar de tomlev
Rédacteur/Modérateur https://www.developpez.com
Le 15/06/2012 à 0:24
Citation Envoyé par MABROUKI Voir le message
Aussi je me pose une autre question :pourquoi microsoft n'a pas cree explicitement comme dans d'autres languages 2 types strings l'un mutable,l'autre non-mutable
Mais ils l'ont fait
immuable : String
mutable : StringBuilder

(tout comme en Java avec String et StringBuffer)
0  0