日期:2014-05-18  浏览次数:20779 次

关于c#属性和集合的不解,拜求高手解答!求详解!
问题1:
string message = Request.QueryString["name"];这是asp.net中很简单的一小块代码。就是给message赋上Request对象的QueryString属性的返回值。之前学习过c#语言,但是还没见过属性的这种用法(调用属性时含有索引)。希望朋友们能用代码举例的方式给予解答不胜感谢!属性中含有索引时如何使用的?是哪部分的相关知识?
问题2:
HttpCookie cook = new HttpCookie("username","张三");
Response.Cookies.Add(cook);
同样是很简单的代码,大家都懂得用。但是有一点疑问。第二句代码中Add()是一个方法,而Cookies是一个Response对象的属性。属性怎么可以调用方法呢?
希望长老们能详细解答。再次感谢。刚刚接触asp.net。这个问题困扰到凌晨2.30不能入睡。

------解决方案--------------------
属性不能含索引,你看到的Request.QueryString["name"]这个索引不是属性的索引,Request.QueryString这个属性的类型是 NameValueCollection, NameValueCollection类有索引,

Request.QueryString["name"]调用的索引是NameValueCollection的索引,

2.同样,Response.Cookies.Add(cook)也不是属性调用方法,而是Response.Cookies属性的类型是HttpCookieCollection,调用的Add方法其实是HttpCookieCollection的方法,