byte[] frame_to_send= new byte[6];
// code
frame_to_send = { 0x68, 0x04, 0x83, 0x00, 0x00, 0x00}; `//Array edit`
Fehler Zuweisen: #merkwürdige Fehler auf, wenn ein Byte-Array
Invalid expression term '{'
; expected
byte[] frame_to_send= new byte[6];
// code
frame_to_send = { 0x68, 0x04, 0x83, 0x00, 0x00, 0x00}; `//Array edit`
Fehler Zuweisen: #merkwürdige Fehler auf, wenn ein Byte-Array
Invalid expression term '{'
; expected
Sie können diese Initialisierung bei Bauzeit nur tun:
byte[] frame_to_send = { 0x68, 0x04, 0x83, 0x00, 0x00, 0x00};
Zu einem späteren Zeitpunkt können Sie es nur so:
frame_to_send = new byte[]{ 0x68, 0x04, 0x83, 0x00, 0x00, 0x00};
Hinweis dass in dem Code, den Sie zuerst zeigen, ein Byte ar erstellen ray mit allen Werten auf 0 gesetzt, und dann (versuchen Sie), eine neue zu erstellen, die vollständig erstellte vollständig verworfen. Deine erste Aufgabe ist also völlig überflüssig.
C keine Arrayliteral Syntax wie das haben. Nur zur Bauzeit können Sie das tun.
Passen Sie Ihren Code zu sein:
byte[] frame_to_send= new byte[] { 0x68, 0x04, 0x83, 0x00, 0x00, 0x00};
Keine echte Notwendigkeit von expliziten Typ in der rechten Seite des Ausdrucks, 'byte [] frame_to_send = {..};' sollte funktionieren – Fabjan
Dies ist, was Sie suchen:
byte[] frame_to_send = new byte[] { 0x68, 0x04, 0x83, 0x00, 0x00, 0x00};
Wenn Sie nach dem Array verwenden möchten es zu erklären, dann müssen Sie es durch das Element Element zuzugreifen.
byte [] frame_to_send = neues Byte [6];
frame_to_send [0] = 0x68;
frame_to_send [1] = 0x04;
frame_to_send [2] = 0x83;
frame_to_send [3] = 0x00;
frame_to_send [4] = 0x00;
frame_to_send [5] = 0x00;
Sie können immer Schleife verwenden, um es zu tun.
Die Schleife würde unweigerlich auf ein anderes, bereits existierendes Array zugreifen, in welchem Fall 'Array.Copy (data_containing_array, frame_to_send, frame_to_send.Length)' eine viel einfachere Lösung als eine Schleife ist. – Nyerguds
Das war eine großartige Idee. –
@Fabjan Nein, der Compiler interpretiert die Literale als 'int' und kann nicht konvertieren 'int []' in ein 'byte []'. Versucht es;) –
Und das, meine Damen und Herren, ist, warum, zusätzlich zu machen den Code blutig unleserlich, weglassen Arten ist eine schlechte Idee :) – Nyerguds
Ja, du hast Recht, nur vergaß, dass standardmäßig erstellt es int 'Array, Upvoted Ihre Antwort sowieso – Fabjan