今天早上我不小心看到下面的代碼片段,我很驚訝,因爲它工作得很好。爲什麼Request.Cookie在foreach循環中返回字符串而不是HttpCookie對象?
請不要看它的邏輯,我只是好奇爲什麼HttpCookieCollection(在這種情況下Request.Cookies)返回一個字符串(cookie名稱),而不是在foreach循環中的HttpCookie對象。這是否是一致性問題,因爲我們通常通過索引/名稱在此集合中獲取HttpCookie對象?
感謝,
foreach (string cookieKey in System.Web.HttpContext.Current.Request.Cookies)
{
HttpCookie tmpCookie = System.Web.HttpContext.Current.Request.Cookies[cookieKey];
if (tmpCookie != null && tmpCookie["RecentlyVisited"] != null)
{
cookie.Add(tmpCookie);
}
}
謝謝 @克里斯:我不問如何通過循環遍歷集合;) – 2009-06-22 02:49:51
我有同樣的問題,我不明白爲什麼我必須在foreach聲明中使用HttpCookie的字符串。任何線索? – gonxalo 2009-09-18 20:41:55