Existe uma maneira de executar uma mudança circular de bits em c #?

Eu sei que o seguinte é verdade

int i = 17; //binary 10001
int j = i << 1; //decimal 34, binary 100010

Mas, se você mudar demais, os bits caem no final. Onde isso acontece, é uma questão de tamanho do número inteiro com o qual você está trabalhando.

Existe uma maneira de realizar uma mudança para que os bits girem para o outro lado? Estou procurando por uma única operação, não por um loop.

questionAnswers(5)

yourAnswerToTheQuestion