如何防止多余的分隔符?

时间:2019-12-05 02:19:53

标签: stringtemplate stringtemplate-4

鉴于下面的代码ST4 C#代码,如何防止尾随的分隔符(',')出现在我的输出中?如果在输出第一个项目后没有要跳过的项目(例如,如果列表中的第三个项目不存在),则尾随的分隔符将不会出现。因此,显然问题与跳过项目有关,但是跳过第一项没有问题(例如,在输出第二项之前没有前导分隔符)。

  

2是偶数,

static void Main (string [] args)
        {
        List <Item> items = new List <Item> () { new Item ("1", false), new Item ("2", true), new Item ("3",false)};
        string      string_template_group =
@"
even_params (parameters) ::=
<<
<parameters:{p|<if (p.is_even)><p.value> is even<endif>}; separator = "", "">
>>
";
        TemplateGroup   group = new TemplateGroupString (string_template_group);

        Template even_params = group.GetInstanceOf ("even_params");
        even_params.Add ("parameters", items);
        Console.WriteLine (even_params.Render ());
        }   // End Main

    }   // End class Program

class Item
    {
    public string   value   { get; set; }
    public bool     is_even { get; set; }

    public Item (string V, bool E)
        {
        value = V;
        is_even = E;
        }

    }   // End class Item

将分隔符更改为“ sep”(按@Har的要求)可提供预期的输出:

  

2是偶数

0 个答案:

没有答案