je souhaiterais créer une structure avec un tableau dynamique (de
taille inconnue) qui me sert de base pour la génération de fichiers
binaires.
Ma structure pourrait ressembler à:
[StructLayout(LayoutKind.Sequential, Pack=1) ]
public struct T_APPLICATION
{
public T_FILE_HEADER Header;
public Byte Dummy1;
public Byte Dummy2;
public T_MODULE[] Module;
}
avec
[StructLayout(LayoutKind.Explicit, Pack=1) ]
public struct T_MODULE
{
[FieldOffset(0)]
public Byte[] Dummy1;
[FieldOffset(32)]
public Byte Dummy2;
}
Mais lors de l'instanciation de ma structure T_APPLICATION, une
exception est levée (ex.Message="?"). Vraissemblablement c'est le
paramètre T_MODULE[] qui n'est pas apprécié!
une suggestion?
Merci d'avance
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Christophe Lauer [MS]
Bonjour,
Thierry wrote:
Bonjour,
je souhaiterais créer une structure avec un tableau dynamique (de taille inconnue) qui me sert de base pour la génération de fichiers binaires.
<CUT/>
une suggestion? Merci d'avance
Pour des tableaux de taille dynamique en .NET, on utilise généralement l'objet ArrayList.
Il existe un semblant de tableaux dynamiques en VB.NET (et pas en C#) mais ces derniers ne sont là que pour assurer une compatibilité ascendante avec VB6.
Tout comme les chaines de caractères en .NET, les tableaux sont dit "immutables", donc avec ces pseudo tableaux dynamiques en VB.NET : chaque ajout d'un élément entraine une nouvelle allocation pour l'ensemble du tableau, copie de l'ensemble des éléments et destruction de l'ancienne instance. C'est très pénalisant sur les perfs. Leur utilisation n'est pas conseillée ;)
HTH,
-- Christophe Lauer - Relations Techniques Editeurs de Logiciels Division Développeurs et Plateforme d'Entreprise - Microsoft France http://blogs.microsoft.fr/clauer/
This posting is provided "AS IS" with no warranties, and confers no rights.
Bonjour,
Thierry wrote:
Bonjour,
je souhaiterais créer une structure avec un tableau dynamique (de
taille inconnue) qui me sert de base pour la génération de fichiers
binaires.
<CUT/>
une suggestion?
Merci d'avance
Pour des tableaux de taille dynamique en .NET, on utilise généralement
l'objet ArrayList.
Il existe un semblant de tableaux dynamiques en VB.NET (et pas en C#) mais
ces derniers ne sont là que pour assurer une compatibilité ascendante avec
VB6.
Tout comme les chaines de caractères en .NET, les tableaux sont dit
"immutables", donc avec ces pseudo tableaux dynamiques en VB.NET : chaque
ajout d'un élément entraine une nouvelle allocation pour l'ensemble du
tableau, copie de l'ensemble des éléments et destruction de l'ancienne
instance. C'est très pénalisant sur les perfs. Leur utilisation n'est pas
conseillée ;)
HTH,
--
Christophe Lauer - Relations Techniques Editeurs de Logiciels
Division Développeurs et Plateforme d'Entreprise - Microsoft France
http://blogs.microsoft.fr/clauer/
This posting is provided "AS IS" with no warranties, and confers no rights.
je souhaiterais créer une structure avec un tableau dynamique (de taille inconnue) qui me sert de base pour la génération de fichiers binaires.
<CUT/>
une suggestion? Merci d'avance
Pour des tableaux de taille dynamique en .NET, on utilise généralement l'objet ArrayList.
Il existe un semblant de tableaux dynamiques en VB.NET (et pas en C#) mais ces derniers ne sont là que pour assurer une compatibilité ascendante avec VB6.
Tout comme les chaines de caractères en .NET, les tableaux sont dit "immutables", donc avec ces pseudo tableaux dynamiques en VB.NET : chaque ajout d'un élément entraine une nouvelle allocation pour l'ensemble du tableau, copie de l'ensemble des éléments et destruction de l'ancienne instance. C'est très pénalisant sur les perfs. Leur utilisation n'est pas conseillée ;)
HTH,
-- Christophe Lauer - Relations Techniques Editeurs de Logiciels Division Développeurs et Plateforme d'Entreprise - Microsoft France http://blogs.microsoft.fr/clauer/
This posting is provided "AS IS" with no warranties, and confers no rights.