Macros 获取Foreach中的项索引
我有一个MyCustomMacro,它返回字符串列表。 我需要用自定义分隔符和列表元素显示此列表Macros 获取Foreach中的项索引,macros,kentico,Macros,Kentico,我有一个MyCustomMacro,它返回字符串列表。 我需要用自定义分隔符和列表元素显示此列表 {% foreach (ev in MyCustomMacro("events") ) { ev + " | "; }; #%} 但该代码还在最后一个元素后添加“|” 如何检查该元素在列表中的最后一个?您可以通过以下方式轻松完成: {% result=""; foreach (ev in MyCustomMacro("events") ) { result+=
{%
foreach (ev in MyCustomMacro("events") )
{
ev + " | ";
};
#%}
但该代码还在最后一个元素后添加“|”
如何检查该元素在列表中的最后一个?您可以通过以下方式轻松完成:
{% result="";
foreach (ev in MyCustomMacro("events") )
{
result+= ev + " | ";
};
result.TrimEnd(" | ")
%}
您可以通过以下方式轻松完成:
{% result="";
foreach (ev in MyCustomMacro("events") )
{
result+= ev + " | ";
};
result.TrimEnd(" | ")
%}
如果可以获取字符串数组中的值,则可以执行以下操作:
string.Join("|", events[])
如果可以获取字符串数组中的值,则可以执行以下操作:
string.Join("|", events[])
您可以使用string类的join方法:
{%string.join(“|”,MyCustomMacro(“事件”))%}您可以使用string类的join方法:
{%string.join(“|”,MyCustomMacro(“events”))%}我认为一种更有效的方法是使用string-StringBuilder类 这句话有点意思
{%
var builder = new StringBuilder();
foreach (ev in MyCustomMacro("events") )
{
builder.append(ev + " | ");
};
result = String.Join("|", builder.Split('|'));
%}
我认为一个非常有效的方法是使用StringBuilder类 这句话有点意思
{%
var builder = new StringBuilder();
foreach (ev in MyCustomMacro("events") )
{
builder.append(ev + " | ");
};
result = String.Join("|", builder.Split('|'));
%}
这部作品的可能复制品,但有点像黑客。使用已经为此创建的方法,例如
string.Join()
,这很有效,但有点像黑客。使用已为此创建的方法,如string.Join()
此代码仅适用于Kentico CMS,它是一个K#宏表达式。在C#中,只需使用string.join(“|”,新字符串[]{})
此代码仅在Kentico CMS中有效,它是一个K#宏表达式。在C#中,您只需要使用string.join(“|”),newstring[]{}