在Foreach中获取项目索引

时间:2016-03-22 12:54:33

标签: macros kentico

我有MyCustomMacro,它返回我的字符串列表。 我需要使用自定义分隔符beetwen list elements显示此列表。

{% 
foreach (ev in MyCustomMacro("events") )
{ 
  ev + " | "; 
};
#%}

但是此代码也加入了#34; | "在最后一个元素之后。

如何检查该元素在列表中的最后位置?

4 个答案:

答案 0 :(得分:3)

如果您可以获取字符串数组中的值,则可以执行以下操作:

string.Join("|", events[])

Examples

答案 1 :(得分:2)

我认为一种非常有效的方法是使用字符串StringBuilder类。

这些方面的东西。

{%
  var builder = new StringBuilder();
  foreach (ev in MyCustomMacro("events") )
  { 
    builder.append(ev + " | "); 
  };
  result = String.Join("|", builder.Split('|'));
%}

答案 2 :(得分:0)

你可以轻松地做到这一点:

{% result="";
   foreach (ev in MyCustomMacro("events") )
    { 
     result+= ev + " | "; 
    };
   result.TrimEnd(" | ")
%}

答案 3 :(得分:-1)

您可以使用字符串类的连接方法:

{%string.join(" |",MyCustomMacro(" events"))%}