Найти количество повторений подстроки

using System;
using System.Linq;

public class Program {
	public static int NumberOfRepeats(string str) 
	{	
		int length = str.Length;
		int checkLength = 2;

		while (checkLength < length)
		{
				if (length % checkLength == 0)
				{
						var times = length / checkLength;
						var subStr = str.Substring(0, checkLength);
						var checkStr = string.Concat(Enumerable.Repeat(subStr, times));

						if (checkStr == str)
						{
								return times;
						}
				}

				checkLength++;
		}

		return 1;
	}
}
Encouraging Eagle