2009-03-20 8 views
5

Je suis en train de convertir les éléments suivants (raccourci pour une meilleure lisibilité) à C# et en cours d'exécution dans les problèmesTableaux multidimensionnels dans un struct en C#

#define DISTMAX 10 
struct Distort { 
    int a_order; 
    double a[DISTMAX][DISTMAX]; 
}; 

je pensais en struct était un cas simple d'utilisation « fixe » Cependant, j'ai toujours des problèmes.

Voici ce que j'ai (avec une définition plus haut de la page):

const int DISTMAX = 10; 
struct Distort 
{ 
     int a_order; 
     fixed double a[DISTMAX,DISTMAX]; 
} 

L'erreur que je reçois est stimply Erreur de syntaxe que] et [sont attendus du fait de ce que je pense être une limitation d'un tableau à une seule dimension.

Y a-t-il un moyen de contourner cela?

Répondre

7

Les tampons de taille fixe ne peuvent être qu'unidimensionnels. Vous devrez utiliser:

unsafe struct Distort 
{ 
    int a_order; 
    fixed double a[DISTMAX * DISTMAX]; 
} 

puis d'effectuer une opération arithmétique appropriée pour obtenir des valeurs individuelles.

+0

Cela confirme ce que je soupçonnais déjà. Merci. – John

+0

N'avez-vous pas besoin de le marquer aussi dangereux? –

Questions connexes