Cita: Porque creo recordar que C# no te deja usar variables que solo tiene asignados valores dentro de un bucle o de un if
Asi es....

, primero si las vas a ocupar dentro de alguna condicion debes inicializarlas antes de poderlas usar:
Cita: string rol = string.Empty;
Salu2