2010-09-20 3 views

Répondre

15

La taille maximale de toutes les instances de type de référence (comme une chaîne) est limitée à par le CLR à 2GB. Comme un caractère dans .NET prend 2 octets, cela signifie qu'une chaîne peut contenir un maximum d'environ 1 milliard de caractères.

Notez que les chaînes .NET ne sont pas vraiment conçues pour ces tailles. Ils sont immuables et toutes les opérations de chaîne créent de nouvelles instances de chaîne. Lorsque vous avez des données aussi grandes, vous devez concevoir vos algorithmes et vos structures en mémoire (et probablement sur disque, pour des données vraiment énormes) autour de ce que vous voulez faire avec.

+0

Pouvez-vous expliquer pourquoi une limite de 2 Go sur le CLR équivaut à "1G caractères"? – StriplingWarrior

+0

@StriplingWarrior: Gardez à l'esprit que chaque caractère prend 2 octets dans .NET. – dtb

+0

Je ne peux pas définir 11 millions de caractères dans la variable de chaîne? Est-ce vrai? – Farna

Questions connexes