2013-06-21 35 views
1

我有一個如何使用列表<MyStructure>獲得NameValueCollection的LINQ投影?

var list = new List<MyStructure>(); 

我想提取MyStructure.FooMyStructure.Bar並把這兩個在NameValueCollection。我需要NameValueCollection,因爲我正在使用WebClient.UploadValues()

以下內容會創建一個IEnumerable<NamedValueCollection>。我只需要一個NameValueCollection

var nameValueCollection = structure.Select(x => new NameValueCollection    
     { 
      { x.TypeId.ToString(), x.Value } 
     }); 

謝謝。

回答

4

無需使用LINQ這裏

foreach(var myStruct in list) 
{ 
    myNameValueCollection.Add(myStruct.Foo, myStruct.Bar); 
} 
+0

謝謝。我過於複雜了。 –

2

嘗試以下。

 class MyStructure 
    { 
     public string Foo { get; set; } 
     public string Bar { get; set; } 
    } 

    public static void Main(string[] args) 
    { 

     var list = new List<MyStructure>(); 
     NameValueCollection nameValueCollection = new NameValueCollection(); 

     list.ForEach(x => { 
      nameValueCollection.Add(x.Foo, x.Bar); 
     }); 

    } 
+0

謝謝。我將接受keyboardP的答案,因爲他是第一個但感謝擴展方法的語法。 –

相關問題