2015-05-10 200 views
-2

首先,我声明了两个结构如下所示:列表结构的阵列的阵列

struct m1 
{ 
    int 
    int 
    char 
    ... 
} 

struct m2 
{ 
    int 
    int 
    char 
    ... 
} 

我的m1和m2的两个阵列。我需要将一个m1映射到多个m2。我不知道两者的大小,所以我搜索后,我决定使用

List<m1 or m2> = new List<m1 or m2>(); 

和工作正常。 但

List<m1 , m2> = new List<m1 , m2>(); 

给我错误“需要一个类型参数” 请帮帮我,我该怎么办呢?

感谢

+1

你的问题很模糊,不会编译,也没有意义。请尝试澄清你的意思与一个小的,但完全重现你的问题。 –

+0

_“来自m1型的每个结构都有来自m2型的多个结构。”_这是什么意思?你是否试图在“m1”和“属于”它之间存储一个关系? –

+0

@YuvalItzchakov,为什么模糊,是的,它不编译代码。但我需要在我的代码中执行某些操作的方式,比如声明类型为struct的数组的数组。这是堆栈溢出的规则,必须把编译代码?请为我澄清。 – Abdo

回答

2

List<T>需要一种类型的也不能有两种类型,我所看到的是你需要映射一个m1对多个m2,所以在这种情况下Dictionary<TKey,TValue>适合在这里:

Dictionary<m1 , List<m2>> = new Dictionary<m1 , List<m2>>(); 

和现在在词典中添加项目。

+0

非常感谢,正是我需要的。可能是我新的,不知道字典。 – Abdo