1
Comment est-ce que je convertirais ceci en boucle et ne pas utiliser le pointeur.Convertir l'option pointeur en boucle en C#
byte[] InputBuffer = new byte[8];
unsafe {
fixed (byte* pInputBuffer = InputBuffer) {
((long*)pInputBuffer)[0] = value;
}
}
Je suis en train d'utiliser le code de cette page: query string parameter obfuscation
En effet. La réponse à l'autre question semble être délibérément opaque et showoffy. L'appel de 'BitConverter' est beaucoup plus lisible et n'a probablement pas de coût de performance supplémentaire par rapport au code dangereux (en particulier lorsqu'il est pris dans le contexte de tout ce qui se passe dans la réponse à l'autre question). – LukeH
@LukeH: 'BitConverter' fait probablement le type-punning, mais puisqu'il est dans un assembly signé par Microsoft, il peut être utilisé dans toutes sortes de scénarios de confiance partielle, l'appelant reste vérifiable et après inlining dans le JIT, je ' d s'attendre à ce que le code machine soit exactement le même. Subverser le système de type dans ce cas particulier n'a pas de ramifications de sécurité, car 'BitConverter' nécessite que les entrées et les sorties soient des types numériques primitifs. –