I would like to know how to check if an int array is a cyclic permutation of another (or is equal) efficiently in C#.

For example, the following arrays are cyclic permutations: `{1,2,3}`, `{2,3,1}` and `{3,1,2}`, whereas `{2,1,3}` is not. Any ideas?