Tal como lo planteas, no, pero puedes usar colecciones del tipo clave/valor. Si usas .net 2 puedes usar estas colecciones con tipos definidos, para ganar rendimiento.
Código:
Hastable foo=new Hastable();
for (int i=0; i<5; i++){
foo["s" + i] = "Bar" + i;
}
// Accedes al elemento s2
string bar = foo["s2"] + "";
Saludos