2012-02-05 15 views
0

私は理想的なように表現したいと思うのデータを持っている:C#での構造体とコンストラクタ

LinkedList<T>[] 

ただし、ジェネリックにそれを行うことはできませんので、私は構造体に包み:

public struct SuitList      
    { 
     LinkedList<T> aList; 

     public SuitList() 
     { 
      aList = new LinkedList<T>(); 
     } 
    } 

は今、私のクラスでは、私は、私はクラスの私のコンストラクタ内で、連想リスト初期化するにはどうすればよい

SuitList[] myStructList;  //there is only 4 indices of myStructList 

がありますか?

myStructList = new SuitList[4]; 

for(int i = 0; i < 4; i++) 
{ 
    myStructList[i] = new SuitList(); 
} 

コンパイラは、構造体は、明示的なパラメータなしのコンストラクタを含めることはできませんと言って私にエラーを与えた:次のように私はこれを試してみました。これを行うより良い方法がありますか? 事前に助けてくれてありがとう。

+2

これは非常に奇妙な構造のようです。なぜあなたはリンクされたリストの配列をしたいですか? – SLaks

+1

'LinkedList []'を使用しようとしたときに、どのようなエラーが発生しましたか?それには何も問題はありません。 – phoog

+0

@phoog、あなたは正しいです。私は間違っていた – CodeKingPlusPlus

答えて

7

C#はJavaではありません。
これは、ジェネリックでうまくいくことができます。

質問に答えるには、構造体ではなくクラスを作成する必要があります。

0

これはクラスでなくても可能です。

public struct SuitList<T> 
    { 
     LinkedList<T> aList; 

     public SuitList(int nothing = 0) 
     { 
      aList = new LinkedList<T>(); 
     } 
    }