Request["key"] vs Request.Params["key"] vs Request.QueryString["key"]
asp.net, c#, request.querystring
Solution
I recommend `Request.QueryString["key"]`. There isn't a lot of difference to `Request["Key"]` for a query string but there is a big(er) difference if you are trying to get the value from `ServerVariables`. `Request["Key"]` looks for a value in `QueryString` if null, it looks at `Form`, then `Cookie` and finally `ServerVariables`.
Using `Params` is the most costly. The first request to params creates a new `NameValueCollection` and adds each of the `QueryString`, `Form`, `Cookie` and `ServerVariables` to this collection. For the second request on it is more performant than `Request["Key"]`.
Having said that the performance difference for a couple of keys is fairly negligable. The key here is code should show intent and using `Request.QueryString` makes it clear what your intent is.
Problem
`Request["key"]` vs `Request.Params["key"]` vs `Request.QueryString["key"]` Which method do you seasoned programmers use? and why?