2009-03-20 44 views
5

Tôi đang cố gắng để chuyển đổi như sau (rút ngắn cho dễ đọc) để C# và chạy vào các vấn đềMảng đa chiều trong một cấu trúc trong C#

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

Tôi nghĩ trong cấu trúc đó là một trường hợp đơn giản của việc sử dụng "cố định" tuy nhiên tôi vẫn gặp vấn đề.

Đây là những gì tôi đã có (Với một định nghĩa cao lên trang):

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

Các lỗi tôi nhận được là stimply Lỗi cú pháp mà] và [được kỳ vọng do những gì tôi mong đợi để có một giới hạn của một mảng thứ nguyên duy nhất.

Có cách nào khác không?

Trả lời

7

Bộ đệm có kích thước cố định chỉ có thể là một chiều. Bạn sẽ cần sử dụng:

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

và sau đó thực hiện số học thích hợp để nhận các giá trị riêng lẻ.

+0

Điều này xác nhận những gì tôi đã nghi ngờ. Cảm ơn. – John

+0

Bạn không cần đánh dấu nó là không an toàn? –

Các vấn đề liên quan