将List <cookie>转换为C#</cookie>中的CookieCollection

时间:2010-01-05 23:05:04

标签: c# .net list collections

假设我有List<Cookie>,我想将其转换为CookieCollection。最简单的方法是什么?

我知道我可以使用foreach循环,但是没有办法用与此类似的代码实例化它吗?

List<Cookie> l = ...;
var c = new CookieCollection() { l };

当我尝试编译时,我收到错误:

  

最佳重载的Add方法   'System.Net.CookieCollection.Add(System.Net.CookieCollection)'   对于集合初始化程序有   一些无效的论点

顺便说一下,Add支持两种CookieCollection方法:

public void Add(Cookie cookie);
public void Add(CookieCollection cookies);

4 个答案:

答案 0 :(得分:8)

在第一个示例中给出cl,这样做:

l.ForEach(c.Add);

答案 1 :(得分:4)

CookieCollection是在.Net 2之前编写的(在Generics之前)。因此,除了手动使用foreach循环之外,实际上没有其他方法可以做到。

答案 2 :(得分:1)

您可以将lambda传递给List的ForEach方法。这将独立于CookieCollection的构造函数。

List<Cookie> l = ...;
var c = new CookieCollection();
l.ForEach(tempCookie => c.Add(tempCookie));

答案 3 :(得分:0)

List<Cookie> l = ...;
var c = new CookieCollection();
l.ForEach(x => c.Add(x));