我通过 for 循环编写了一个函数,使用递归打印字符串的一部分,但无法通过递归制定相同的逻辑。
public static List<String> list = new List<string>();
public static void sample(String str,int length,int num)
{
for (int i = 0; i+num <= length; i++)
{
list.Add(str.Substring(i,num));
}
}
样本("样本",6,2(输出:南非是议员.pl乐
提前谢谢!!
你可以尝试类似这样的东西:
public static List<String> GroupString(String input, int take, List<String> output) {
if (input.Length > take)
{
output.Add(new String(input.Take(take).ToArray()));
return GroupString(new string(input.Skip(take).ToArray()), take, output);
}
else {
output.Add(input);
return output;
}
}
你可以这样使用它:
var testString = "Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Aenean commodo ligula eget dolor. Aenean massa. Cum sociis natoque penatibus et";
var result = GroupString(testString, 5, new List<String>());