quand sqlchars et quand sqlssortingng?

Je développe une application CLR en c #. Je rencontre le type SqlChars et SqlSsortingng. mais je ne trouve pas la différence entre eux. Quand utiliser SqlChars et quand utiliser SqlSsortingng?

Merci

– SQL Ssortingng est un sqltype dans un framework .net. Il représente un stream de caractères de longueur variable à stocker ou à extraire de la database.

– SQLChar est un type de reference mutable qui enveloppe un tableau Char ou une instance SqlSsortingng. SqlChar est une class. Et ce que vous avez trouvé est juste que sqlssortingng est limité à nvarchar (4000) et sqlchars est nvarchar (max). (Mais nous pouvons définir la taille, la précision et l'échelle des parameters et des types de return en utilisant l'atsortingbut SqlFacet.)

Je m'excuse d'avoir dupliqué certaines des données dans la réponse actuellement sélectionnée, mais je voulais essayer de fournir quelques précisions.

D'abord, la réponse courte:

Mes recommandations pour quand utiliser SqlChars vs SqlSsortingng sont en rapport avec votre intention. Si vous ne prévoyez pas de modifier la string d'input, utilisez SqlSsortingng. Si vous avez besoin de manipuler l'input, utilisez SqlChars.

Et maintenant quelques détails sur comment je suis arrivé là:

Nous pouvons voir dans la documentation que SqlChars est une class et SqlSsortingng est une structure . La class par rapport à la structure dépasse la scope de cette réponse, mais il suffit de dire que les structures sont plus légères. Vous pouvez également voir que SqlChars est mutable (vous pouvez le changer sans nécessairement avoir besoin d'une nouvelle allocation de memory). Je ne trouve pas de documentation se référant à une limitation de taille à SqlSsortingng et je n'ai pas eu de problèmes en utilisant des données plus grandes que VARCHAR (8000) / NVARCHAR (4000) avec un SqlSsortingng. Si vous rencontrez des problèmes, assurez-vous que votre code CLR a MaxByteSize = -1.

Les informations ci-dessous proviennent de la documentation MSDN des types SQL .

Des classs

SqlChars est un type de reference mutable qui enveloppe un tableau Char ou une instance SqlSsortingng.

Structures

SqlSsortingng – Représente un stream de caractères de longueur variable à stocker ou à extraire de la database. SqlSsortingng a une structure de données sous-jacente différente de son type de données .NET Framework Ssortingng correspondant.

permettez-moi de citer de mr. alastair: sqlchar est less exigeant sur les ressources memory système, car il ne nécessite pas de bloc de nature contiguos, comme le fait sqlssortingng.