J'essaye de formater un tableau d'octets en C#, en portant un code à partir de Java. En Java, les méthodes "buf.putInt (value);", buf.putShort, buf.putDouble, (et ainsi de suite) sont utilisées. Cependant je ne sais pas comment porter ceci à C#. J'ai essayé la classe MemoryStream, mais il n'y a aucune méthode pour mettre un type spécifique à la fin du tableau d'octets. Question: Quel est l'équivalent de "ByteBuffer.putType (value)" de Java en C#? Merci!Equivalent de Java "ByteBuffer.putType()" dans C#
Répondre
Vous pouvez utiliser un BinaryWriter et votre MemoryStream:
Vous voudrez utiliser la classe BitConverter
. La principale différence est que ces méthodes retournent un tableau d'octets au lieu de modifier un tableau existant.
(Ceci est un remplacement pour les méthodes spécifiques mentionnées, pour un remplacement de toute la classe ByteBuffer, voir les autres réponses.)
Essayez la classe BinaryWriter
:
using (var binaryWriter = new BinaryWriter(...))
{
binaryWriter.Write(323);
binaryWriter.Write(3487d);
binaryWriter.Write("Hello");
}
Nous aimons écrire 3 choses, y compris Hello. – user7116
Merci pour cela, c'est exactement ce que je cherchais :). Cependant, comment puis-je revenir à un tableau d'octets après avoir utilisé l'éditeur binaire? – Lazlo
Si l'éditeur binaire est enroulé autour d'un 'MemoryStream', vous pouvez appeler' ToArray' et obtenir un tableau d'octets. –
- 1. C# Equivalent de Java IdentityHashMap
- 2. Equivalent de C# ObservableCollection en Java
- 3. Equivalent C# de Java non lu de PushbackReader()
- 4. Equivalent Java des constructions .NET
- 5. Extensions parallèles Equivalent en Java
- 6. Equivalent du pack de Swing en C#
- 7. Equivalent C# de ce code C++
- 8. Equivalent d'utiliser && dans SQL
- 9. Equivalent de LastCall.IgnoreArguments dans EasyMock
- 10. Equivalent de macros __DATE__, __TIME__ en C#
- 11. Equivalent (fonctionnalité) d'ObjPtr de VB6 en C#?
- 12. Equivalent ShellExecute dans .NET
- 13. Equivalent C# de "EXCEPTION_CONTINUE_EXECUTION" avec filtre d'exception
- 14. Equivalent au mot-clé "using" de C# dans PowerShell?
- 15. Equivalent de "throw" dans R
- 16. Equivalent du type de référence C++ en C#
- 17. Win32 equivalent de getuid()
- 18. Equivalent de MappedBytesBuffer pour .NET?
- 19. HQL Equivalent de SQL contient
- 20. Equivalent DataRelation dans Subsonic 3
- 21. Equivalent de SQL ISNULL dans LINQ?
- 22. Equivalent de select ou poll dans bash
- 23. Equivalent de ToString() sur un type enum en C++/CLI
- 24. Equivalent C# de std :: sort et std :: unique
- 25. Equivalent vb.net code
- 26. Ruby Equivalent de ASP.NETs Application_Start?
- 27. Equivalent de PathMatchSpec pour .NET
- 28. Equivalent pour LinkedHashMap en Python
- 29. Equivalent côté serveur de HttpContext?
- 30. Equivalent Python de continuations avec Ruby
Merci, je vais utiliser cette solution à la fin :) – Lazlo
La plupart de vos noms de variables ont 6 lettres mais quelques-uns ne le font pas. Mon OCD arrive et j'ai presque envie de les réparer ... –