2013-04-25 13 views
5

C#クラスでドロップダウンリストのリストを作成する方法を知りたいと思います。C#でDDLのリストをプログラムで作成する方法

List<DropDownList> _ddlCollection; 
for (int i = 0; i < 5; i++) 
      { 
       _ddlCollection.Add(new DropDownList()); 
      } 

は、その後、私はこのようAsp.NETサイトに_ddlCollectionを追加します:私はこのようにしようとしている

foreach (DropDownList ddl in _ddlCollection) 
    { 
     this.Controls.Add(ddl); 
    } 

しかし、それはライン上で壊れる:

_ddlCollection.Add(new DropDownList()); 

は、あなたが言うことができますリストにいくつかのDDLを追加する方法は?

答えて

3

それ「休憩」あなたはここでローカル変数_ddlCollectionを初期化していないので:ローカル変数の宣言によって導入されたローカル変数は自動的に初期化され、これ ない

List<DropDownList> _ddlCollection; 
// you cannot use _ddlCollection until it's initialized, 
// it would compile if you'd "initialize" it with null, 
// but then it would fail on runtime 

にはデフォルト値がありません。そのようなローカルの 変数は、最初は割り当てられていないとみなされます。ローカル変数宣言は、変数が確実ローカル可変イニシャライザに設け表現内除き、その範囲全体に割り当て考慮した場合には、ローカル変数、初期化子、..

Local variablesを含むことができ

これが正しい初期化です:

List<DropDownList> _ddlCollection = new List<DropDownList>(); 
1

_ddlCollectionが初期化されていないようですので、.Addが壊れてしまったようです。

_ddlCollectionList<DropDownList>というインスタンスを割り当てる必要があります。

_ddlCollection = new List<DropDownList>(); 
関連する問題