AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

Pointer in C#

Ein Thema von Neutral General · begonnen am 20. Dez 2008 · letzter Beitrag vom 21. Dez 2008
 
Benutzerbild von Neutral General
Neutral General

Registriert seit: 16. Jan 2004
Ort: Bendorf
5.219 Beiträge
 
Delphi 10.2 Tokyo Professional
 
#1

Pointer in C#

  Alt 20. Dez 2008, 20:24
Hi,

Im Moment siehts so aus, dass ich übers Netzwerk Daten geschickt bekomme. Die Socketklasse von C# (bzw dem .NET Framework) macht das ja alles über Byte-Arrays. Soweit ja in Ordnung. Allerdings will ich jetzt dieses Byte Array in ein struct kopieren, bzw das Array so interpretieren können.

Das ganze ist allerdings scheinbar nicht so einfach -.-
Ich habe keinen Move befehl o.ä. gefunden mit dem ich die Bytes einfach verschieben/kopieren kann und ein Pointer des structtyps auf dieses Array funktioniert auch nicht.

Also mein Quelltext (= Müll) sieht so aus:

Code:
public struct TPlayerState
{
   public UInt16 id;
   public int x;
   public int y;
   public UInt32 color;
}


// ...
  byte[] buff = new byte[14];
  // Daten in buff lesen
  TPlayerState* x = (TPlayerState*)(byte*)buff[0]; //<---- *
// ...
*)
Zitat:
Zeiger und Puffer mit fester Größe können nur in einem nicht sicheren Kontext verwendet werden.
Ich versteh das nicht. Abgesehn davon, dass ich bei C# Pointer noch nicht so ganz verstanden hab glaub ich.

Also
Code:
Typ* x;
=

var x: ^Typ;
Code:
x = *var;
=

x := @var; Stimmt das soweit? Und wie dereferenziert man in C#? Und was soll wie gesagt oben diese Meldung? -.-

In Delphi ist das alles unkomplizierter.....
Michael
"Programmers talk about software development on weekends, vacations, and over meals not because they lack imagination,
but because their imagination reveals worlds that others cannot see."
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 16:22 Uhr.
Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz