我通过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) 输出: SA 上午 熔点 PL 乐
提前致谢!!!
答案 0 :(得分:0)
你可以尝试类似的东西:
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>());