効率的なアルゴリズムを作成する方法を学ぼうとしています。部分文字列を見つけるための私のコードは次のとおりです
public static bool HasSubstring(string MainStr,string SubStr)
{
bool FoundMatch = false;
for (int i = 0; i < MainStr.Length; i++)
{
if (SubStr.Length != 0)
{
int a = 0;
int j = 0;
if (MainStr[i] == SubStr[a])
{
j = i;
do
{
if (MainStr[j] == SubStr[a])
{
a++;
j++;
FoundMatch = true;
continue;
}
else
{
FoundMatch = false;
break;
}
} while (a<SubStr.Length);
if (FoundMatch == true)
{
break;
}
}
}
}
return FoundMatch;
}
このアプローチを最適化できますか?