Windows Azure Cloud Storage ermöglicht es Ihnen bereits ab 0,10€ pro GB/Monat die Vorteile der Cloud zu nutzen.
Willkommen bei dotnet-snippets.de! Snippet hinzufügen Login Registrieren
Snippets in der Datenbank: 1550 | Anzahl registrierter User: 1841 | Besucher online: 14
Hauptmenü
Home
Top Ten
Zufälliger Snippet
FAQs
.NET Community
dotnet-forum.de
dotnet-kicks.de
Social

RSS Feeds
Rss Alle Snippets
Rss C#
Rss VB.NET
Rss C++
Rss ASP.NET
Partner
Member of Microsoft Community Leader/Insider Program (CLIP)

long in ein byte-Array kopieren


Autor: skeleten
Sprache: C#
Bewertung: 1,8
(1 Bewertung)
Anzahl der Aufrufe: 2799
  
Kick it on dotnet-kicks.de  

Beschreibung:

Diese Klasse kopiert die Bytes einer long-Variabele in ein byte-Array und gibt dieses zurück.
Muss mit /unsafe kompiliert werden.


Abgelegt unter: long, byte, array, kopieren, konvertieren, long in byte.



C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
namespace longByteConvert
{
    static public class convert
    {
        /// <summary>
        /// Convertiert einen long-Wert zu einem 8-Byte Array
        /// </summary>
        /// <param name="l">Der zu konvertierende long-Wert</param>
        /// <returns>8-Byte Array des long-Wertes</returns>
        public static unsafe byte[] Convert(long l)
        {
            void* tmp = &l;
            byte* b = (byte*)tmp;
            byte[] toRet = new byte[sizeof(long)];

            for (int i = 0; i < sizeof(long); ++i)
            {
                toRet[i] = *b;
                ++b;
            }

            return toRet;
        }
    }
}
Sie haben Fragen zu diesem Snippet oder brauchen Hilfe bei der .NET Entwicklung?
Freundliche und kompetente Entwickler helfen Ihnen gern weiter im Forum für .NET Entwicklung.



Kommentare:
(Zum Schreiben von Kommentaren bitte anmelden.)

Thomas Söhne schrieb am:  21.07.2010 09:48:43

Wer unsafe nicht mag, kann ja folgende Abwandlung verwenden.

public static byte[] Convert(long l)
{
long mask = 255;
byte[] res = new byte[sizeof(long)];

for (int i = 0; i < sizeof(long); ++i)
{
res[i] = (byte)((l & mask) >> (8 * i));
mask = mask << 8;
}

return res;
}
Spooky schrieb am:  21.07.2010 18:19:23

1. Wenn schon unsafe Code dann kann man auch die Daten mit einer Dereferenzierung schreiben:
byte[] result = new byte[8];
fixed (byte* ptr = result)
*(long*)ptr = l;

2. Gibt es genau diese Implementierung schon im Framework selbst in der System.BitConverter Klasse (siehe GetBytes(long)).


Diese Snippets könnten für Sie interessant sein:
[C#] Konventiert eine IP-Adresse zu Long / Long zu IP-Adresse
[C#] IP Adresse in ByteArray
[C#] MAC in ByteArray
[C#] Kopierroutinen object <-> byte[]
[C#] String in Byte Array und zurück wandeln
[C#] Bitmap in Byte Array schreiben
[VB.NET] Create Nice File Size
[VB.NET] Umrechnung von Byte bis Yottabyte
[C#] byte-String in byte wandeln
[VB.NET] String in Byte Array und zurück wandeln
[C#] Netzwerktraffic anzeigen
[C#] Byte Größenangaben als String formatieren (KB, MB, GB, ...)
[C#] Datei Teilweise einlesen (gestückelt)
[C#] Byte-Array in Struktur kopieren
[C#] Prüfung, ob bestimmtes Bit in Byte gesetzt ist.
[C#] Setzt ein bestimmtes Bit in einem Byte
[VB.NET] Doppelte Einträge aus Arraylist löschen
[C#] Convert an ArrayList into an array
[C#] Arraylist in Textdatei schreiben
[C#] Wandelt ein Bytearray in einen Binärstring
[C#] BubbleSort Verfahren / Algorithmus
[VB.NET] Dateien nach Datum sortieren
[C#] Typ der Elemente in einem Array herausfinden
[VB.NET] Rows eines DataGridView in ein String-Array konvertieren
[VB.NET] Doppelte Arrayeinträge mit linearem Aufwand entfernen
[VB.NET] Listen, Arrays, Strings konvertieren
[VB.NET] Textdatei lesen und schreiben (String, StringArray, etc...)
[VB.NET] List all controls by using the name of the controls
[C#] Datei einlesen und als ArrayList jede Zeile zurückliefern
[C#] Eine allgemeine Liste (IEnumerable) in ein Array umwandeln
[C#] Array zur Laufzeit erweitern
[C#] Kleine Array-Erweiterung
[VB.NET] Doppelte Eintäge löschen
[C#] SortingHelper - MoveUpInList & MoveDownInList
[VB.NET] Datei mittels Windows Dialog kopieren
[VB.NET] Datei Paketweise Kopieren
[C#] Deep Copy of object
[C#] TreeView Drag&Drop
[C#] Inhalt einer Listbox kopieren
[C#] Ordner mit Inhalt kopieren (rekursiv)
[C#] Dateilisten kopieren
[C#] CopyStream(Stream read, Stream write)
[C#] string in Hex wandeln
[C#] Word: Word-Dokument automatisch in HTML umwandeln
[C#] Image in IPictureDisp umwandeln
[C#] List string zu List int konvertieren
[C#] Liste mit int array zu Liste mit string array
[C#] ArrayList zu string array konvertieren
[VB.NET] Dezimalzahl in Zahl der Basis b < 37 konvertieren

schlecht sehr gut
1 2 3 4 5 6 7 8 9 10
Nur angemeldete User können Snippets bewerten.