小编Joh*_*ohn的帖子

突破递归方法

我有下面的递归方法正在工作,我似乎无法打破它:

public static void smsMessage(string message, int maxLength)
{ 
  int strPos = 0;

  var spaces = message.ToCharArray()
    .Select((v, x) => new { value = v, index = x })
    .Where(element => !char.IsLetterOrDigit(element.value))
    .Select(element => element.index)
    .ToList();

  for (int i = 0; i < spaces.Count; ++i)
  {
    strPos += spaces[i];

    if (strPos >= maxLength || i == spaces.Count - 1 )
    {
      if (i == spaces.Count-1)
      {
        strPos -= spaces[i];

        returnMessage.Add(message.Substring(0).Trim());

        return;
      }

      strPos -= spaces[i];

      returnMessage.Add(message.Substring(0, spaces[i - 1]).Trim());

      message …
Run Code Online (Sandbox Code Playgroud)

c#

-2
推荐指数
1
解决办法
241
查看次数

标签 统计

c# ×1