如何合并两个 Cookie 容器以便覆盖旧的 cookie?

How to merge two CookieContainers so older cookies are overwritten?

是否有执行此操作的标准方法,或者我是否必须使用反射从 CookieContainer 获取每个 cookie,手动检查它们,然后将它们添加到新的 CookieContainer?

您可以使用 CookieCollection.Add 将 Cookie 或 CookieCollection 添加到另一个 CookieCollection。如果添加的 cookie 与集合中预先存在的 cookie 同名,则预先存在的 cookie 将被新的 cookie 替换。

CookieCollection my_cookies = new CookieCollection();
my_cookies.Add(new Cookie("id", "old_id_value"));
CookieCollection new_cookies = new CookieCollection();
new_cookies.Add(new Cookie("id", "new_id_value"));

my_cookies.Add(new_cookies);

foreach(Cookie c in my_cookies)
{
    Console.WriteLine(c.Name + ": " + c.Value);
}

// prints "id: new_id_value"