在 Foreach 中获取项目索引

get item index in Foreach

我有 MyCustomMacro returns 我的字符串列表。 我需要用自定义分隔符 beetwen 列表元素显示此列表。

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

但是这段代码还在最后一个元素之后添加了“|”。

如何检查该元素是否在列表中?

你可以通过这个轻松做到:

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

如果你可以获取字符串数组中的值,你可以这样做:

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

Examples

可以使用字符串的join方法class:

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

我认为一种更有效的方法是使用字符串 StringBuilder class。

这几行。

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