/// <summary>
/// 分割帕斯卡命名约定的字符串为各个单词
/// </summary>
/// <param name="input"></param>
/// <returns></returns>
public string[] Split(string input)
{
// 返回的字符串结果
List<string> result = null;
// 遍历字符串中的所有字符
int lower = 0;
for(int index = 1; index < input.Length; index++)
{
// 字符为大写字母,则将到此为止的之前的所有字符组成新的字符串
if (char.IsUpper(input[index]))
{
result ??= new();
result.Add(input[lower..index]);
lower = index;
}
}
// 如果没有大写字母或者输入为空,则返回空的字符串数组
if (result == null)
{
return Array.Empty<string>();
}
// 将最后一个字符串添加到字符串数组
result.Add(input[lower..]);
return result.ToArray();
}