2009-12-01 12 views
110

別一覧のC#に一覧表示内容を追加します。私は、次のしている

  1. メインリストと呼ばれるGlobalStrings
  2. 別のリストと呼ばれるlocalStrings例えばループで

GlobalStrings = new List<string>(); 
for(x=1;x<10;x++) 
{ 
    localStrings = new List<string>; 
    localStrings.Add("some value"); 
    localStrings.Add("some value"); 

    // Want to append localStrings to GlobalStrings as easily as possible 
} 
+3

スタックは常に岩。 ..いい質問... –

+2

あなたは間違っている、 'localStrings = new List ;'の前に配置する必要がありますloo p –

+1

ワッシム、私はそれが地元と世界の間を区別する理由だと思います。 localStringsはfor-loopスコープに対してローカルであり、GlobalStringsはグローバルスコープにあります。 – Dagrooms

答えて

191

注:インターフェイス(IList)を使用してリストオブジェクトを宣言することはできません。

+2

+1働いて完全に – shmeeps

+1

Upvoted!ありがとう –

8

Linq

var newList = GlobalStrings.Append(localStrings) 
+0

Appendが存在しないようですか?それのためのMSDNのdocへのリンクがありますか? – Pod

35
GlobalStrings.AddRange(localStrings); 

と思われます。

タイプミスがありました。私はこの行を追加して、 "一文字編集不許可"の問題を解決しました。

+0

Upvoted同様に – shmeeps

+1

1人のキャラクターがアップヴォートを失った。それはしばしばあなたを失うことに注意してください! (睡眠や正気のように。) – deed02392

16

は、AddRangeメソッドを試してみてください。

GlobalStrings.AddRange(localStrings); 
1

あなたはここで

List<string>GlobalStrings = new List<string>(); 

for(int x=1; x<10; x++) GlobalStrings.AddRange(new List<string> { "some value", "another value"}); 
3

:) "簡潔" を取得したい場合は私の例である:フローオーバー

private List<int> m_machinePorts = new List<int>(); 

    public List<int> machinePorts 
    { 
     get { return m_machinePorts; } 
    } 

    Init() 
    { 
     // Custom function to get available ethernet ports 
     List<int> localEnetPorts = _Globals.GetAvailableEthernetPorts(); 

     // Custome function to get available serial ports 
     List<int> localPorts = _Globals.GetAvailableSerialPorts(); 

     // Build Available port list 
     m_machinePorts.AddRange(localEnetPorts); 
     m_machinePorts.AddRange(localPorts); 
    } 
関連する問題