Вы можете использовать ;
для разделения значений, что облегчает работу с ним.
Поскольку у вас есть ,
для разделения, а также для значений, его трудно разделить.
У вас есть
string str = "param1,r:1234,p:myparameters=1,2,3"
Рекомендуется использовать
string str = "param1;r:1234;p:myparameters=1,2,3"
, который можно разделить на
var strArray = str.Split(';');
strArray[0]; // contains param1
strArray[1]; // r:1234
strArray[2]; // p:myparameters=1,2,3