<p>I would like to be able to loop through all of the defined parameters on my reports and build a display string of the parameter name and value.  I'd then display the results on the report so the user knows which parameters were used for that specific execution.  The only problem is that I cannot loop through the Parameters collection.  There doesn't seem to be an indexer on the Parameters collection, nor does it seem to implement IEnumerable.  Has anyone been able to accomplish this?  I'm using SSRS 2005 and it must be implemented within the Report Code (i.e., no external assembly).  Thanks!</p>

Unfortunately, it looks like there's no simple way to do this.
See
http://www.jameskovacs.com/blog/DiggingDeepIntoReportingServices.aspx
for more info. If you look at the
comments of that post
, there are some ways to get around this, but they're not very elegant. The simplest solution will require you to have a list of the report parameters somewhere in your Report Code, which obviously violates the
DRY
principle, but if you want the simplest solution, you might just have to live with that.
You might want to rethink your constraint of no external assembly, as it looks to me that it would be much easier to do this with an external assembly. Or if your report isn't going to change much, you can create the list of parameter names and values manually.