Écrire StringBuilder pour diffuser de la
Quelle est la meilleure méthode de rédaction d'un StringBuilder à un Système.IO.Stream?
Je suis actuellement en train de faire:
StringBuilder message = new StringBuilder("All your base");
message.Append(" are belong to us");
System.IO.MemoryStream stream = new System.IO.MemoryStream();
System.Text.ASCIIEncoding encoding = new ASCIIEncoding();
stream.Write(encoder.GetBytes(message.ToString()), 0, message.Length);
Vous devez vous connecter pour publier un commentaire.
Ne pas utiliser un StringBuilder, si vous écrivez à un flux de données, le faire avec un StreamWriter:
C'est la meilleure méthode. Autres sage perte de l'objet StringBuilder et d'utiliser quelque chose comme suit:
Ce sera peut-être utile.
En fonction de votre cas d'utilisation, il peut aussi prendre le sens de commencer avec un StringWriter:
Si vous voulez utiliser quelque chose comme un StringBuilder parce qu'il est plus propre de faire circuler et de travailler avec, alors vous pouvez utiliser quelque chose comme ce qui suit StringBuilder suppléant j'ai créé.
La chose la plus importante qu'il n'différents, c'est qu'il permet d'accéder aux données internes sans avoir à les assembler en une Chaîne de caractères ou ByteArray premier. Cela signifie que vous n'avez pas à doubler les exigences de mémoire et de risque d'essayer d'allouer un espace contigu de mémoire qui s'adapte à l'ensemble de votre objet.
NOTE: je suis sûr qu'il ya de meilleures options, puis en utilisant un
List<string>()
à l'intérieur, mais c'était simple et s'est avéré être assez bon pour mes fins.Maintenant, vous pouvez vider le contenu entier de fichier en utilisant le code suivant.