I'm not sure - and I can't test it at the moment - but since the SetParamaters method accepts an array, isn't it all a bit obvious:
this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] {rp});
this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] {rpt});
Becomes:
this.reportViewer1.LocalReport.SetParameters(new ReportParameter[] {rp, rpt});