鉴于下面的代码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是偶数