Actuellement, je travaille pour développer un MemoryStream
en utilisant BinaryWriter
.en ajoutant un seul bit dans MemoryStream en utilisant BinaryWriter
J'ai plusieurs types (c.-à-d. Type de données) de données que je mets dans MemoryStream un par un. Par souci de dynamisme, j'ai besoin de décider si certains enregistrements doivent être insérés dans MemoryStream ou non et en lisant ce MemoryStream, il devrait être lu en conséquence.
par exemple suppose que je suis revenu de l'insertion d'enregistrements si le format des dossiers devrait être:
byte sr_No; double grandTotal;
mais comme dans la plupart des cas au large des sr_No sera consécutive, à moins que holydays. donc je ne devrais pas mettre sr_No partie de chaque enregistrement. Au lieu de cela, je prévois un single bit
0 pour sr_No absent et 1 pour la date actuelle.
donc en gros ce que je pense d'avoir un 1 bit qui montrera si l'octet à venir (comme sr_No est l'octet) est contenant sr_No ou directement GrandTotal (comme sr_No été sautée) comme celui-ci
la situation actuelle sr_No :
1[1 byte of sr_No][4 bytes of grandTotal]
sr_No Situation absente:
0[4 bytes of grandTotal]
mais ce n'est pas possible, donc je peux faire un léger décalage sur MemoryStream (peut-être aussi pas possible) d'avoir un en-tête d'un bit.
ou il peut y avoir un autre moyen de l'atteindre.
Puis-je faire une opération peu sage comme le décalage ?? Je ne suis pas très clair. merci par le chemin @Jon Skeet – Amit
@AmitNatural: Eh bien oui, vous pouvez faire le transfert de bits - mais que voulez-vous que cela accomplisse? Qu'est-ce qui vous a incité à poser cette question? –
mon exigence de base était d'ajouter un seul bit, car il n'est pas possible que je doive aller travailler autour de la solution. dans mon code exact, il y a une valeur variée (0-255 [j'ai fait cette gamme pour l'insérer dans un octet et je peux la rager à 0-127, 7bits nombre et faire le plus droit dans cet octet inutilisé pour ce bit changement de vitesse.]). mais comme je l'ai dit je ne suis pas clair que le décalage sur MemoryStream est possible ou non! et si oui, comment puis-je l'utiliser – Amit